Neue Funktionen
-
Hi,
wie kann es sein, dass mein Compiler (MSVC6) einige Funktionen, die erst seit Win98 vorhanden sind nicht kennt?
Ich habe das neuste PSDK und andere Funktionen (z.B. AnimateWindow (auch seit Win98)) funktionieren.Der Code:
TRACKMOUSEEVENT Hover; //wird vom Comp. auch nicht gefunden Hover.cbSize = sizeof(TRACKMOUSEEVENT); Hover.dwFlags = TME_LEAVE; Hover.dwHoverTime = HOVER_DEFAULT; Hover.hwndTrack = hWnd; TrackMouseEvent(&Hover);
Danke
M.T.
-
Als du das neue PSDK installiert hast, hast du die include-verzeichnisse auch mitgeändert? Falls nicht check mal ob die als erstes drin sind. Nach dem was ich in erinnerung hab hängt er sie einfach hinten dran und VC++ nimmt immer das File was er als erstes findet also die alten Versionen.
-
Ja, ich hab die neuen Verzeichnisse zuerst.
M.T.
-
In solchen Fällen wirkt ein Blick in die Header-Files wahre Wunder:
#if(_WIN32_WINNT >= 0x0400) typedef struct tagTRACKMOUSEEVENT { DWORD cbSize; DWORD dwFlags; HWND hwndTrack; DWORD dwHoverTime; } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT; WINUSERAPI BOOL WINAPI TrackMouseEvent( IN OUT LPTRACKMOUSEEVENT lpEventTrack); #endif /* _WIN32_WINNT >= 0x0400 */
Du muß als, bevor Du irgendetwas inkludierst, _WIN32_WINNT definieren:
#define _WIN32_WINNT 0x0400 #include <windows.h>
Aber tu Dir selbst einen Gefallen und verwende lieber _TrackMouseEvent. Dann läuft es auch unter 95 und NT4, wenn einigermassen aktuelle CommonControls installiert sind.
-
Hast du auch immer die nötigen libs gelinkt? Und wie sieht dieses Nicht-Kennen aus?
-
@King: Danke - so funktioniert's
Nur scheint die Funktion nicht wirklich das zu machen, fürdas ich sie benötige - ich habe den gerade geposteten Code und folgenden:
if(uiMsg == WM_MOUSELEAVE) { MessageBox(0,0,0,0); }
Nun sollte jedesmal, wenn ich mit der Mouse die Client-Area verlasse die Message gesendet werden, doch ich bekomme sie nur einmal am Programmstart.
M.T.
-
zur WM_MOUSELEAVE:
*RemarksAll tracking requested by TrackMouseEvent is canceled when this message is generated. The application must call TrackMouseEvent when the mouse reenters its window if it requires further tracking of mouse hover behavior.
-
Danke für den Wink mit dem Zaunspfahl
M.T.