我用的是类似以下语句但是有点问题如CRect rect;
GetDlgItem(IDC_BUTTON1)->GetWindowRect(rect);这样以后就不知道怎么来确定按钮坐标了,我是想模拟鼠标点击这个按钮.
没他的坐标我就定位不了光标停留的位置

解决方案 »

  1.   

    为什么我用::PostMessage(GetDlgItem(IDC_BUTTON1)->m_hWnd,WM_COMMAND,0,0);这样的语句也模拟不了按钮点击?
    GetDlgItem(IDC_BUTTON1)-PostMessage(WM_COMMAND,0,0);
      

  2.   

    CWnd::GetWindowRect
    CWnd::GetClientRect
    用这两个函数来获得位置后,计算两点之间的差值,如:x1,y1;
    在用CWnd::GetWindowRect获得按钮的窗口坐标,如:rect;
    rect.left-x1, rect.right-x1,rect.top-y1,rect.button-yi就是按钮的客户区的坐标。
      

  3.   

    CWnd::GetWindowRect获得的是相对于屏幕的坐标吗
      

  4.   

    需要把屏幕坐标转换为用户坐标
    dlg.ScreentoClient(...)
      

  5.   

    能给个大概的代码吗?
    CWnd::GetWindowRect是取出的一个CRect类型的个区域
    不知道CRect成员中哪是坐标?