BOOL CKaoDynamicDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
// TODO: Add your message handler code here and/or call default
if(pWnd->GetDlgCtrlID()==IDC_HERE)
{
//SetCursor(AfxGetApp()->LoadStandardCurso(IDC_CROSS));
//return true;
                  HCURSOR cursor=AfxGetApp()->LoadCursor(IDC_CROSS);
         //这是设置鼠标的
SetCursor(cursor); }
return CDialog::OnSetCursor(pWnd, nHitTest, message);
}
我这个是对话框,在上面有一个ID为IDC_HERE的图片控件,我想让鼠标移到上面时会把鼠标形状改为十字形,但我的程序根本没有反映啊,怎么办

解决方案 »

  1.   

    SetCursor(cursor);

    return TRUE;
      

  2.   

    BOOL CCursorsDlg::PreTranslateMessage(MSG *pMsg)
    {
    if(pMsg->message==WM_MOUSEMOVE)
    {
    POINT pt=pMsg->pt;
    ScreenToClient(&pt);
    CWnd *pWnd=ChildWindowFromPoint(pt);
    UINT nCtrlID=pWnd->GetDlgCtrlID();
    switch(nCtrlID)
    {
    case IDC_BUTTON_WAIT:
    SetCursor(LoadCursor(NULL,IDC_WAIT));
    break;
    case IDC_BUTTON_CROSS:
    SetCursor(LoadCursor(NULL,IDC_CROSS));
    break;
    default:
    break;
    }
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  3.   

    cursor是空的,当然会没有变化了。
      

  4.   

    同意hahu(dragon) ( ) 信誉:100
      

  5.   

    去掉return CDialog::OnSetCursor(pWnd, nHitTest, message);