Главная страница
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.011 c
1-12339
kamerad
2004-02-21 22:43
2004.03.05
TRichView


3-12239
Алексей Петухов
2004-02-10 12:58
2004.03.05
invalid BLOB length


3-12237
lucky4me
2004-01-29 13:48
2004.03.05
TDBGrid: Как выделить строку программным путем?


11-12301
Alexeyss
2003-06-22 04:57
2004.03.05
Проблемма совместимости с ХР


14-12517
syte_ser78
2004-02-12 17:43
2004.03.05
DVD+/-RW