VC设置鼠标光标的方式比较

来源:互联网 发布:阿里算法工程师p6待遇 编辑:程序博客网 时间:2024/05/20 10:53

1 使用::SetCursor设置,如下面,但当移动鼠标后,未必会起作用,因为Windows调用其他窗口消息,如WM_MOUSEMOVE,会设置成默认鼠标形状,即箭头形状。

BOOL CWwe2Dlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) {    CString sClassName;    ::GetClassName(pWnd->GetSafeHwnd(),sClassName.GetBuffer(80),80);    if (sClassName=="Button" && m_hButtonCursor         && GetWindowLong(pWnd->m_hWnd,GWL_ID)==IDC_OK) {        ::SetCursor(m_hButtonCursor);        return TRUE;    }     return CDialog::OnSetCursor(pWnd, nHitTest, message);}

2 一劳永逸的的在任何地方都可使用的设置,使用::SetClassLong,如:

//将光标改为漏斗SetClassLong(pDlg->GetSafeHwnd(), GCL_HCURSOR,(LONG)LoadCursor(NULL, IDC_WAIT));//恢复光标为箭头SetClassLong(pDlg->GetSafeHwnd(), GCL_HCURSOR,(LONG)LoadCursor(NULL, IDC_ARROW));





0 0
原创粉丝点击