TRAY
Ostatnio zmodyfikowano 2010-02-01 18:57
skovv Temat założony przez niniejszego użytkownika |
TRAY » 2010-01-27 18:49:51 Witam.Jak można wstawić ikonke programu do Traya i po kliknięciu prawym wyskakiwały opcje? :] |
|
malan |
» 2010-01-27 19:13:25 |
|
skovv Temat założony przez niniejszego użytkownika |
» 2010-01-28 07:50:48 LPSTR sTip = "Moja własna ikonka"; NOTIFYICONDATA nid;
nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = hwnd; nid.uID = ID_TRAY1; nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = CMSG_TRAY1; nid.hIcon = LoadIcon(NULL, IDI_APPLICATION); lstrcpy(nid.szTip, sTip);
Co wstawić za hwnd? wiem że to uchwyt okna ale co kolwiek nie wpisze jest błąd ;/ |
|
malan |
» 2010-01-28 10:37:00 Uchwyt do swojego okna :). Jako hWnd podajemy uchwyt okna, które będzie otrzymywało komunikaty związane z ikonką - zazwyczaj jest to główne okno naszego programu |
|
|
skovv Temat założony przez niniejszego użytkownika |
» 2010-01-28 14:14:19 ale ehhh....właśnie nie rozumiesz... pisze dll pod game maker: #include <windows.h> #define funkcja extern "C" __declspec(dllexport) #define ID_TRAY1 601 #define CMSG_TRAY1 0x8001
funkcja double WstawIkoneDoTraya( char * napis ) { LPSTR sTip = napis; NOTIFYICONDATA nid; nid.cbSize = sizeof( NOTIFYICONDATA ); nid.hWnd = hwnd; nid.uID = ID_TRAY1; nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = CMSG_TRAY1; nid.hIcon = LoadIcon( NULL, IDI_APPLICATION ); lstrcpy( nid.szTip, sTip ); BOOL r; r = Shell_NotifyIcon( NIM_ADD, & nid ); if( !r ) MessageBox( hwnd, "Nie ma ikonki xD", "ERROR!", MB_ICONEXCLAMATION ); return 0; } i co mam wpisać za hwnd? jak pisze hwnd to jest błąd :/ 11 C:\Documents and Settings\Właściciel\Pulpit\Tray\dllmain.cpp `hwnd' undeclared (first use this function) I co zrobić? |
|
malan |
» 2010-01-28 14:20:21 Skoro nie zadeklarowałeś hwnd to co się dziwisz, że masz błąd? funkcja double WstawIkoneDoTraya( char * napis, HWND uchwyt ) { LPSTR sTip = napis; NOTIFYICONDATA nid; nid.cbSize = sizeof( NOTIFYICONDATA ); nid.hWnd = uchwyt; nid.uID = ID_TRAY1; nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = CMSG_TRAY1; nid.hIcon = LoadIcon( NULL, IDI_APPLICATION ); lstrcpy( nid.szTip, sTip ); BOOL r; r = Shell_NotifyIcon( NIM_ADD, & nid ); if( !r ) MessageBox( hwnd, "Nie ma ikonki xD", "ERROR!", MB_ICONEXCLAMATION ); return 0; } |
|
skovv Temat założony przez niniejszego użytkownika |
» 2010-01-28 20:50:04 dziala :] Tylko jak najezdzam na nia to mi sie usuwa :/ nawet jak mam wlaczony program |
|
malan |
» 2010-01-29 09:27:55 Prawdopodobnie masz błąd gdzieś w odbieraniu komunikatów od "ikonki". |
|
« 1 » 2 |