Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

TRAY

Ostatnio zmodyfikowano 2010-02-01 18:57
Autor Wiadomość
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? :]
P-13333
malan
» 2010-01-27 19:13:25
http://darkcult.gamedev.pl/kursy/apitray.html, a wyskakujące opcje to nic innego jak menu kontekstowe :).
P-13334
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 ;/
P-13345
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
P-13346
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:
C/C++
#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ć?
P-13349
malan
» 2010-01-28 14:20:21
Skoro nie zadeklarowałeś hwnd to co się dziwisz, że masz błąd?
C/C++
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;
}
P-13350
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
P-13356
malan
» 2010-01-29 09:27:55
Prawdopodobnie masz błąd gdzieś w odbieraniu komunikatów od "ikonki".
P-13371
« 1 » 2
  Strona 1 z 2 Następna strona