实现按钮本来就有一张图片,当鼠标指针指到按钮上时就换另一张
我想实现鼠标实现按钮本来就有一张图片,当鼠标指针指到按钮上时就换另一张,拿开时又回到前一张,应该怎么实现呢?用ONMOUSEMOVE吗?最好有例子参考一下的帮帮忙吧!以前没做过这个,求解释啊
[解决办法]
WM_MOUSEHOVER、WM_MOUSELEAVE消息处理图片的交换
[解决办法]
在WndProc函数里面添加消息,示例如下:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ int x,y; switch (message) { case WM_MOUSEMOVE: if(1) { CDC *pDC=CDC::FromHandle(mdc); HCURSOR hc; CPoint pl ; GetCursorPos(&pl); ::ScreenToClient(hWnd,&pl); if((pl.x>160)&&(pl.x<390)&&(pl.y>190)&&(pl.y<228)) { hc=LoadCursor(NULL,IDC_HAND); }else if((pl.x>160)&&(pl.x<390)&&(pl.y>230)&&(pl.y<268)) { hc=LoadCursor(NULL,IDC_HAND); }else if((pl.x>160)&&(pl.x<390)&&(pl.y>270)&&(pl.y<308)) { hc=LoadCursor(NULL,IDC_HAND); } if(pl.x>=490 && pl.x<=560 && pl.y>=218 && pl.y<=270 && tpic) hc=LoadCursor(NULL,IDC_HAND); SetCursor(hc); } break;