解决方案 »

  1.   

    例子:BOOL CALLBACK DialogProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
    {
    HWND hlb;
    TRACKMOUSEEVENT  tme;
    tme.cbSize=sizeof(TRACKMOUSEEVENT);
    tme.dwFlags=TME_HOVER | TME_LEAVE;
    tme.dwHoverTime=1000;
    tme.hwndTrack=hwndDlg;
    HWND hOkButton=NULL;
    //
    switch (uMsg)
    {
    case WM_INITDIALOG:
    hlb=GetDlgItem (hwndDlg,1000);//listbox
                SendMessage(hlb,LB_ADDSTRING ,0,(LPARAM)"他好");
            SendMessage(hlb,LB_ADDSTRING ,0,(LPARAM)"她好");
            SendMessage(hlb,LB_SETCURSEL ,0,0);
    OldLbProc = (WNDPROC) SetWindowLong(hlb,GWL_WNDPROC,(LONG)MyLbProc);
    return TRUE;
    // break;
    case WM_DESTROY:
    hlb=GetDlgItem (hwndDlg,1000);//listbox
    SetWindowLong(hlb, GWL_WNDPROC,(LONG) OldLbProc);
    break;
    case WM_COMMAND://WM_COMMAND
    switch (LOWORD(wParam))
    {
    case IDOK:
    case IDCANCEL:
    EndDialog(hwndDlg,0);
    return TRUE;
    }
    break;
    case WM_SYSCOMMAND:
    EndDialog(hwndDlg,0);
    return TRUE;
    case WM_MOUSEMOVE:
    _TrackMouseEvent(&tme);
    return TRUE;
    case WM_MOUSEHOVER:
    hOkButton=GetDlgItem(hwndDlg,IDOK);
    SetWindowText(hOkButton,_T("Hover")); 
    return TRUE;
    case WM_MOUSELEAVE:
    hOkButton=GetDlgItem(hwndDlg,IDOK);
    SetWindowText(hOkButton,_T("Leave"));
    return TRUE;
    }
    return FALSE;
    }
      

  2.   

    不是说对象,而是控件的句柄。在窗口过程中的wm_command中判断控件id.
      

  3.   

    GetDlgCtrlID通过窗口句柄获取其ID值
    GetDlgItem通过子窗口ID获取其句柄
    GetWindowText通过窗口句柄获取控件的当前内容
      

  4.   


    你好 能不能根据Slider Control 举个例子,非常谢谢!!
      

  5.   

    用FindWindow(),根据类名或窗口名字就可以得到那个窗口对象指针,然后就通过这指针得到控件对象