Форум: "WinAPI";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
ВнизВ трей запихал , а как вытащить обратно? Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c