?
TrackMouseEvent( ) funktioniert nicht
hButton = CreateWindow("STATIC", "", WS_VISIBLE|WS_CHILD|SS_NOTIFY|SS_BITMAP,
530, 5, 20, 20, hwnd, (HMENU)444, GetModuleHandle (NULL), 0);
PrevWndProcClose = SetWindowLongPtr (hButton, GWLP_WNDPROC,
(LONG_PTR) CloseWndProc);
hBitmap= LoadImage (GetModuleHandle (NULL), "close.bmp",
IMAGE_BITMAP,0, 0,LR_DEFAULTCOLOR | LR_LOADFROMFILE);
hBitmap2= LoadImage (GetModuleHandle (NULL), "close2.bmp",
IMAGE_BITMAP,0, 0,LR_DEFAULTCOLOR | LR_LOADFROMFILE);
if(hBitmap == NULL)
{
MessageBox(NULL, "Konnte Bitmap net laden!", "ERROR!", MB_OK);
}
SendMessage (hButton, STM_SETIMAGE, (WPARAM) IMAGE_BITMAP,(LPARAM)(HANDLE) hBitmap);
me.cbSize = sizeof (me);
me.hwndTrack = hButton;
me.dwFlags = TME_HOVER|TME_LEAVE;
me.dwHoverTime = HOVER_DEFAULT;
TrackMouseEvent(&me);
und der callback
LRESULT CALLBACK CloseWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
//TrackMouseEvent(&me);
switch (message)
{
case WM_MOUSEHOVER:
{
SendMessage (hButton, STM_SETIMAGE, (WPARAM) IMAGE_BITMAP,(LPARAM)(HANDLE) hBitmap2);
TrackMouseEvent(&me);
break;
}
case WM_MOUSELEAVE:
{
SendMessage (hButton, STM_SETIMAGE, (WPARAM) IMAGE_BITMAP,(LPARAM)(HANDLE) hBitmap);
TrackMouseEvent(&me);
break;
}
}
return CallWindowProc ((WNDPROC) PrevWndProcClose, hwnd, message, wParam, lParam);
}