现在我经过大家的指点后
已经可以实现
光标移到对话框中的按钮上可以改变光标的形状
但是无法实现使光标移到对话框上就改变光标的形状
该怎么办?
我是这么实现的:
BOOL TestDLG::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
// TODO: Add your message handler code here and/or call default
         if(pWnd==GetDlgItem(IDD_DIALOG)||pWnd==GetDlgItem(IDCANCEL)||pWnd==GetDlgItem(IDOK))
{
                  //IDD_DIALOG是对话框的ID
::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS));
return true;
}
// return CDialog::OnSetCursor(pWnd, nHitTest, message);
}

解决方案 »

  1.   

    BOOL TestDLG::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
    {
    // TODO: Add your message handler code here and/or call default
             if(pWnd==GetDlgItem(IDD_DIALOG)||pWnd==GetDlgItem(IDCANCEL)||pWnd==GetDlgItem(IDOK))
    {
                      //IDD_DIALOG是对话框的ID
    ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS));
    return true;
    }
    //
              ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_WAIT));//这儿设置你的对话框光标
    return true;
    //return CDialog::OnSetCursor(pWnd, nHitTest, message);
    }
      

  2.   

    if(pWnd==this||pWnd==GetDlgItem(IDCANCEL)||pWnd==GetDlgItem(IDOK))
    把GetDlgItem(IDD_DIALOG)改成this就行了
      

  3.   

    因为GetDlgItem(ID)是针对的是控件或其子窗口,
    你的代码是在对话框自身内调用,而自已不是自己的子窗口
    所以对你这个对话框是无效的,取不到其句柄 .