Gå til innhold

[LOST] Jeg trenger hjelp til Shell_Notifyicon(...


Anbefalte innlegg

jeg har sett litt pa den siste versjonen av Shell Control, Shell_NotifyIcon, men jeg har litt problemer..

 

Nar jeg beveger musen over iconet i Trayet forsvinner det!! arrghhh...

 

Jeg mistenker at det er definasjonen av NOTIFYICONDATA typen...

 

her er den normale:

Private Type NOTIFYICONDATA
   cbSize As Long
   hwnd As Long
   uID As Long
   uFlags As Long
   uCallbackMessage As Long
   hIcon As Long
   szTip As String * 128
End Type

og her er den modifiserte:

Public Type NOTIFYICONDATA2
   cbSize As Long
   hwnd As Long
   uID As Long
   uFlags As Long
   uCallbackMessage As Long
   hIcon As Long
   szTip As String * 128
   dwState As Long
   dwStateMask As Long
   szInfo As String * 256
   uTimeout As Long
   uVersion As Long
   szInfoTitle As String * 64
   dwInfoFlags As Long
End Type

men problem ligger i uTimeOut og uVersion, her er C definasjonen: (fra MSDN)

typedef struct _NOTIFYICONDATA { 
   DWORD cbSize; 
   HWND hWnd; 
   UINT uID; 
   UINT uFlags; 
   UINT uCallbackMessage; 
   HICON hIcon; 
   #if (_WIN32_IE < 0x0500)
       TCHAR szTip[64];
   #else
       TCHAR szTip[128];
   #endif
   #if (_WIN32_IE >= 0x0500)
       DWORD dwState; 
       DWORD dwStateMask; 
       TCHAR szInfo[256]; 
       union { // hva vil dette si?
           UINT  uTimeout; 
           UINT  uVersion; 
       } DUMMYUNIONNAME;
       TCHAR szInfoTitle[64]; 
       DWORD dwInfoFlags; 
   #endif
   #if (_WIN32_IE >= 0x600)
       GUID guidItem;
   #endif
} NOTIFYICONDATA, *PNOTIFYICONDATA; 

men hvordan definerer jeg en "union" i VB? :w00t:

 

[EDIT]

Jeg har lagt til et fungerende eksempel som viser hvordan skikkelige tooltips skal se ut;)

Tray_Info.zip

Endret av Richard87
Lenke til kommentar
Videoannonse
Annonse

Ja, jeg har kontroll pa den, men jeg vil ha den nyere, bedre versjonen (v. 5.00), og ikke 4.00 som blir brukt her..

 

som du ser stotter den oppgraderte versjonen opp til 255 + Null tegn...

 

vet du hvordan "union" fungerer?

 

ok har funnet et annet eksempel..

       union { // hva vil dette si?
          UINT  uTimeout;
          UINT  uVersion;
      } DUMMYUNIONNAME;

=

uTimoutOrVersion as Long

 

og jeg har fatt iconet til og altid vere der ved og legge til en form og gi den hwnd'et..

 

men jeg har fatt ett nytt problem, nar jeg holder musen over iconet, skjer det ingenting, INGEN "tooltip"... noen som har en forklaring pa det?

 

jeg legger ved prosjektet denne gang..

Tray_Info.zip

Endret av Richard87
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...