请问下大家,win32建立的dialogbox怎么样才能修改鼠标到他的EDIT文本编辑框控件时的形状呢,移动到此对话框上面的我已实现,可是移动到EDIT上就会还原,请高手指点

解决方案 »

  1.   

    使用窗体子类化技术:
    HCURSOR hCursor;
    WNDPROC OldEdit;
    LRESULT CALLBACK EditProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
    {
    switch(message)
    {
    case WM_SETCURSOR:
    if(hCursor)
    {
    SetCursor(hCursor);
    ShowCursor(TRUE);
    }
    return TRUE; }
    return CallWindowProc(OldEdit,hwnd,message,wParam,lParam);
    }LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    static HWND hEdit;
    static int i=1; switch (message)
    {
    case WM_CREATE:
    hCursor=LoadCursor(NULL,IDC_HAND);
    hEdit=CreateWindow(_T("edit"),NULL,
    WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT,
    50,50,100,400,hWnd,(HMENU)i,hInst,NULL);
    OldEdit=(WNDPROC)SetWindowLong(hEdit,GWL_WNDPROC,(LONG)EditProc);
    break;
             }
    }
      

  2.   

    非常感谢回贴的两位同志,paerxiushi 同志的贴子使我的问题得到了解决,我是新人没有什么分数只放了10分刚开始,还能这么废事的帮我,十分的感激,发现有加分功能,将此贴加了1百分,rollrock1987 兄的我也看了,没有试,好像也很有道理,给您30分,谢谢两位对我的帮助!