Главная страница
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.016 c
9-12226
Norlin
2003-08-17 19:43
2004.03.05
Как работать с векторами?


14-12490
тихий вовочка
2004-02-13 08:10
2004.03.05
компонент для отображения круговых диаграмм


11-12309
BelchonokH
2003-06-10 21:02
2004.03.05
MHToolTip куда пропадают подсказки?


14-12501
Relaxxx
2004-02-12 23:55
2004.03.05
Возможно ли как-то перекомпилировать мои программы под Linux


14-12506
3APA3A
2004-02-11 21:53
2004.03.05
А как определяют - мастер ты или нет?