Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.05;
Скачать: CL | DM;

Вниз

В трей запихал , а как вытащить обратно?   Найти похожие ветки 

 
brat ©   (2003-12-30 21:49) [0]

Запустил spy++ когда приложение свернуто в трее, наводишь курсор на иконку и сообщения появляются "Sdiapp" Application. Сообщение именно WM_USER+1234, меняется только lParam.
Сначала определил обработчик Application->OnMessage = MyProc;

void __fastcall TForm1::MyProc(tagMsg& msg, bool& Handled)
{
if( msg.msg == WM_TO_TRAY && msg.lParam == WM_LBUTTONDBLCLK )
{
RestoreFromTray(); //при клике на иконку сюда не заходит
Handled = true;
}
}

Сейчас сделано так, результат можно сказать тот же, не доходит до RestoreFromTray(); Где ошибка и как правильно?

#define WM_TO_TRAY (WM_USER+1234)
#define ID_TO_TRAY 1234

class TForm1:TForm
{...

protected:
void __fastcall Process_wmToTray(TMessage&);

BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_TO_TRAY,TMessage,Process_wmToTray);
END_MESSAGE_MAP(TForm);


Unit1.cpp
void __fastcall TForm1::Process_wmToTray(TMessage &Msg)
{
if( Msg.LParam == WM_LBUTTONDBLCLK )
RestoreFromTray();
}

Builder c++ 5.0, patch 1


 
jonni ©   (2003-12-31 07:27) [1]

pohozhe na to chto ti ne pravil"no zapihal v tray!!
pokazhi kak ti dobovlyaesh iconcu v tray!!


 
brat ©   (2003-12-31 14:13) [2]

Вот как делаю:

BOOL FlipToTray(HWND hWnd, HICON hIcon, BOOL bMinimize)
{
NOTIFYICONDATA nid;
memset(&nid, 0, sizeof(nid));
nid.cbSize = sizeof(nid);
nid.hWnd = hWnd;
nid.uID = ID_TO_TRAY;
nid.uCallbackMessage = WM_TO_TRAY;
nid.hIcon = hIcon;
GetWindowText(hWnd, nid.szTip,
sizeof(nid.szTip)/sizeof(nid.szTip[0]));
nid.uFlags = NIF_ICON|NIF_MESSAGE;


BOOL ok = Shell_NotifyIcon(NIM_ADD, &nid);


if(bMinimize)
ShowWindow(hWnd, SW_MINIMIZE);

if(ok)
ShowWindow(hWnd, SW_HIDE);

return ok;
}
......
void __fastcall TSDIAppForm::FormCreate(TObject *Sender)
{
Application->OnMinimize = AppMinimize;
....

void __fastcall TSDIAppForm::AppMinimize(TObject* Sender)
{
FlipToTray(Application->Handle, Application->Icon->Handle, FALSE);
}


 
jonni ©   (2004-01-01 07:39) [3]

nu vot naprimer est" para oshibok.. odna iz kotorih pohozhe mozhet izmenit" delo k luchshemu....

nid.cbSize = sizeof(NOTIFYICONDATA);
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;

i ya bi esche ubral: memset(&nid, 0, sizeof(nid));



Страницы: 1 вся ветка

Текущий архив: 2004.03.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-12522
NeyroSpace
2004-02-11 16:53
2004.03.05
Как сделать консольное прилодение, кот. взаимодействует с *.bat?


3-12280
Igor_P
2004-02-07 21:32
2004.03.05
SQL-запрос


3-12248
Draught
2004-02-09 14:00
2004.03.05
ALIAS на другом компьютере


14-12509
kaif
2004-02-12 00:02
2004.03.05
---|Ветка была без названия|---


1-12405
ghg
2004-02-24 16:04
2004.03.05
потеря значения переменной