如何在Dialog的所有操作中替换鼠标SetCursor( )...
还有MessageBox()中....我用SDK方式编程..我想在Dialog的所有操作中替换鼠标.
比如:
Radio Button,Como box,Button等控件,
还有非客户区,正反键,移动,等等...SetCursor( LoadCursor(hinst,MAKEINTRESOURCE(IDC_CURSOR2)) );有没有简单点的方法......我是这样写的,不能完全替换...
case WM_NCLBUTTONUP:
case WM_NCLBUTTONDOWN:
case WM_NCRBUTTONUP:
case WM_NCRBUTTONDOWN:
case WM_NCMOUSEMOVE:
case WM_MOUSEMOVE:
   SetCursor( LoadCursor(hinst,MAKEINTRESOURCE(IDC_CURSOR2)) );还有MessageBox()中....谢谢!!!

解决方案 »

  1.   

    case WM_SETCURSOR: 
       {}
    你用的是sdk就必须要处理这个消息了!
      

  2.   


    鼠标经过Radio Button,Como box,Button等控件时,还是没有被替换.......
      

  3.   

    我这样还是不能完全替换鼠标
    case WM_NCMOUSEMOVE:
    case WM_NCLBUTTONUP:
    case WM_NCLBUTTONDOWN:
    case WM_NCRBUTTONUP:
    case WM_NCRBUTTONDOWN:
    case WM_MOUSEMOVE:
    case WM_SETCURSOR: 
      SetCursor( LoadCursor(hinst,MAKEINTRESOURCE(IDC_CURSOR2)) );
      

  4.   

    你在响应Dialog的WM_INITDIALOG消息的时候,进行这样一些处理:
    ...
    hwndTest = GetDlgItem(hwnd,IDC_BUTTON_TEST);

    SetClassLong(hwnd,GCL_HCURSOR,(LONG)LoadCursor(hinst,MAKEINTRESOURCE(IDC_CURSOR2)) );
    SetClassLong(hwndTest,GCL_HCURSOR,(LONG)LoadCursor(hinst,MAKEINTRESOURCE(IDC_CURSOR2)) );
    ...
    //在这里,hwnd是你对话框的句柄,hwndTest是你对话框上的一个控件的句柄,当然,你也可以得到你对话框上所有控件的句柄,然后通过SetClassLong函数来设定它们的鼠标形状为你希望的形状.