当鼠标在自己的程序窗体范围内时候用OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 通过装载资源可以改变形状;
那如果鼠标不再程序窗体范围内时候如何改变呢!(像新版qq中屏幕截图一样,单击那个按钮后鼠标不论在什么位置 都变成那个形状????
那如果鼠标不再程序窗体范围内时候如何改变呢!(像新版qq中屏幕截图一样,单击那个按钮后鼠标不论在什么位置 都变成那个形状????
你的意思是调用了一个透明窗口?但是如果是透明的窗体你也不能像qq那样在上面用鼠标画区域(无法显示)
loadCursor();是要在OnSetCursor里用啊!
在up一下
{
CRect rect;
CPoint ptCursor;
CWnd *pStatic1=GetDlgItem(IDC_static); pStatic1->GetWindowRect(rect); //得到static矩形的坐标
GetCursorPos(&ptCursor); //得到mouse位置
if(rcButton1.PtInRect(ptCursor))
{
CWinApp *pApp=AfxGetApp();
HICON hIconBang=pApp->LoadCursor(IDC_MY_CURSOR); SetCursor(hIconBang); //设定此指针
return TRUE;
}
else
//否则不设定
return CDialog::OnSetCursor (pWnd, nHitTest, message);
}以上代码实现:当鼠标在static内时显示你的图标。同样你可以得到窗口的rect,判断当鼠标不在rect内时导入你的图标
我的意思当鼠标超出自己程序的范围内 如何也改变他的形状 这个能实现吗??