link3888 link3889 link3890 link3891 link3892 link3893 link3894 link3895 link3896 link3897 link3898 link3899 link3900 link3901 link3902 link3903 link3904 link3905 link3906 link3907 link3908 link3909 link3910 link3911 link3912 link3913 link3914 link3915 link3916 link3917 link3918 link3919 link3920 link3921 link3922 link3923 link3924 link3925 link3926 link3927 link3928 link3929 link3930 link3931 link3932 link3933 link3934 link3935 link3936 link3937 link3938 link3939 link3940 link3941 link3942 link3943 link3944 link3945 link3946 link3947 link3948 link3949 link3950 link3951 link3952 link3953 link3954 link3955 link3956 link3957 link3958 link3959 link3960 link3961 link3962 link3963 link3964 link3965 link3966 link3967 link3968 link3969 link3970 link3971 link3972 link3973 link3974 link3975 link3976 link3977 link3978 link3979 link3980 link3981 link3982 link3983 link3984 link3985 link3986 link3987 link3988 link3989 link3990 link3991 link3992 link3993 link3994 link3995 link3996 link3997 link3998 link3999 link4000 link4001 link4002 link4003 link4004 link4005 link4006 link4007 link4008 link4009 link4010 link4011 link4012 link4013 link4014 link4015 link4016 link4017 link4018 link4019 link4020 link4021 link4022 link4023 link4024 link4025 link4026 link4027 link4028 link4029 link4030 link4031

Форум — Ответы     (  К темам )
 ?  Иван: Как сделать так чтобы иконка на SysTray замигала,с использованием комп (30-03-2003 20:41:49)
Как сделать так чтобы иконка на SysTray замигала,с использованием компоненты TryIcon.И еще чтобы при закрытии формы,она сворачивалась в SysTray
Спасибо!
 Владимир (31-03-2003 02:30:21)
Чтобы она замигала — надо разместить ImageList c несколькими, сменяющими друг друга иконками, и указать его в свойстве Icons компонента TrayIcon,
установить свойство AnimateInterval — время через которое иконки будут сменять друг друга — например 1000 (1 сек), и свойство Animate в true
--
Разместить на форме PopupMenu и указать его в свойстве PopupMenu компонента TrayIcon, и в свойстве PopupMenuOn — по какой команде на иконке будет открываться это всплывающее меню, например imRightClickUp — по нажатию правой кнопки мыши, и предусмотреть в всплывающем меню такие пункты меню, как
"Восстановить" и "Выход", можете и любые другие, также можно предусмотреть
восстановление формы из трея (свойство — ResroreOn), например по двойному щелчку мыши на иконке — imDoubleClick
---


А чтобы при закрытии формы она сворачивалась — обрабатывайте событие формы onClose


//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "trayicon"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
isTray = false;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Exit1Click(TObject *Sender)
{
isTray = true;
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(isTray) Action = caFree;
else {
Action = caNone;
Form1->Hide();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Restore1Click(TObject *Sender)
{
Form1->WindowState = wsNormal;
if(!isTray) Form1->Hide();
Form1->Show();
Application->Restore();

}
//---------------------------------------------------------------------------

где isTray описана как
private: // User declarations
bool isTray;
а Exit1Click и Restore1Click — это соответственно
обработчики события Click у пунктов всплывающего меню
Exit1 — выход, и Restore1 — восстановить

Здесь сам пример — 4 Kb

Может в коде чего лишнее, особо не проверял, но работает.