mfc可变窗口大小 仅供个人使用

mfc可变窗口大小 仅供个人使用

ID:40750645

大小:161.00 KB

页数:18页

时间:2019-08-07

mfc可变窗口大小 仅供个人使用_第1页
mfc可变窗口大小 仅供个人使用_第2页
mfc可变窗口大小 仅供个人使用_第3页
mfc可变窗口大小 仅供个人使用_第4页
mfc可变窗口大小 仅供个人使用_第5页
资源描述:

《mfc可变窗口大小 仅供个人使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在网上有《VC中自动改变控件位置和大小的对话框类》的文章开始不知道如何使用我在生成的非模态对话框里研究了一天已经搞定了步骤:1,在非模态对话框类的头文件(.h)顶部加上#include"lxDialog.h",然后把非模态对话框类的基类改成ClxDialog,也就是在头文件里classC******:publicCDialog改成:classC******:publicClxDialog在非模态对话框类的.cpp函数里,把构造函数C*****::C*****(CWnd*pParent):CDialog(C*****::IDD,pParent)改成:C*****::C*****(CWnd

2、*pParent):ClxDialog(C*****::IDD,pParent)2,用类向导给非模态对话框添加一个OnInitDialog()函数;也就是在双击类向导->MessageMaps->选非模态对话框类;Messages选WM_INITDIALOG双击它,这样在你的非模态对话框的cpp文件里就生成了ON_WM_INITDIALOG和OnInitDialog()函数;3,在这个OnInitDialog函数里添加代码: ClxDialog::OnInitDialog(); ClxDialog::ShowSizeIcon(TRUE);//显示可以调整大小的图标staticDLGCT

3、LINFOdcMenuGroup[]=   {         {IDCANCEL,MOVEX,100},       {IDCANCEL,MOVEY,100},       {IDC_EDIT_RECDSPDLG,ELASTICX,100},       {IDC_EDIT_RECDSPDLG,ELASTICY,100},   }; SetControlProperty(dcMenuGroup,sizeof(dcMenuGroup)/sizeof(DLGCTLINFO));returnTRUE; //IDCANCEL是关闭按钮的ID,IDOK按钮我去掉了所以没加,IDC_EDIT_R

4、ECDSPDLG是一个EDIT控件//想让哪个控件调整,就照葫芦画瓢在组里加上4,再用类向导添加OnSize()函数,也就是双击ON_WM_SIZE,这样就增加了voidC******::OnSize(UINTnType,intcx,intcy)这个函数,然后在这个函数里添加代码:ClxDialog::OnSize(nType,cx,cy);5,别忘了在资源里右键你的非模态对话框,把属性栏Styles里Border选成Resizing。这样就搞定了 附上网上找的那个类:《VC中自动改变控件位置和大小的对话框类》  lxDialog.h文件:///////////////////////

5、////////////////////////////////////////////////////////////////自动改变控件位置和大小的对话框类//文件名:lxDialog.h//作者:StarLee(coolstarlee@sohu.com)/////////////////////////////////////////////////////////////////////////////////////classClxDialog:publicCDialog{public:ClxDialog(UINTnID,CWnd*pParent=NULL);typedefs

6、truct_dlgControlTag{ intiId; intiFlag; intiPercent;}DLGCTLINFO,*PDLGCTLINFO;enum{ MOVEX=0, MOVEY, MOVEXY, ELASTICX, ELASTICY, ELASTICXY};//设置控件信息BOOLSetControlProperty(PDLGCTLINFOlp,intnElements);//是否在对话框右下角显示表示可改变大小的图标voidShowSizeIcon(BOOLbShow=TRUE);protected: virtualBOOLOnInitDialog(); afx_ms

7、gvoidOnSize(UINTnType,intcx,intcy); afx_msgvoidOnSizing(UINTnSide,LPRECTlpRect); DECLARE_MESSAGE_MAP()private: intm_iClientWidth;//对话框client区域的宽度 intm_iClientHeight;//对话框client区域的高度 intm_iMinWidth;//对话框的最小宽度 intm_iMinHeight;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。