用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())); //右下点
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())); //右下点