您的位置:首页 > 其它

获取对话框的大小及各控件的位置点(像素点)

2017-09-22 19:06 190 查看
          用MFC写的界面不好看,可以采用CDHtmlDialog 对话框方式,调用本地的html页面,而功能还是用c/c++的功能,这样可以做到界面与功能分离,做此事,要将dialog的各个像素点传递给前端。

      (1)获取对话框的大小

        在本对话框的程序中

       CRect rect;

       GetClientRect(&rect);
       int cx = rect.Width();
       int cy = rect.Height();
       (2)各控件的位置点(像素点)
        以IDC_LIST控件为例:
        CRect rect;

        GetDlgItem(IDC_LIST_QR)->GetWindowRect(&rect);//获取控件的屏幕坐标

        ScreenToClient(&rect);//转换为对话框上的客户坐标

        int m_list_x = rect.Width();//控件的宽度

        int m_list_y = rect.Height();//控件的高度

        CPoint *leftP = new CPoint;

        memcpy(leftP, &rect.TopLeft(), sizeof(rect.TopLeft()));//左上点

        CPoint *rightPoint = new CPoint;

        memcpy(rightPoint, &rect.BottomRight(), sizeof(rect.BottomRight()));//右下点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: