使用CXTPDialogBase简单实现resize对话框

来源:互联网 发布:手机淘宝宝贝排名查询 编辑:程序博客网 时间:2024/04/26 13:16

mfc能够轻松的创建对话框,,当如果对于一个可自由变换大小的对话框来说,在大小改变时要控制里面各个控件的大小和位置却是一件比较麻烦的事情。找了很久发现codejock已经很好的实现这个功能,下面简单介绍一下用法。

MyDlg.h

class MyDlg: public CXTPDialogBase<CXTResizeDialog>{DECLARE_DYNAMIC(MyDlg)public:MyDlg();   // standard constructorvirtual ~MyDlg();// Dialog Dataenum { IDD = IDD_QP_VIP_SELECT_DIALOG };protected:virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV supportvirtual BOOL OnInitDialog();afx_msg void OnBnClickedOk();afx_msg void OnBnClickedCancel();DECLARE_MESSAGE_MAP()protected:CXTPButtonm_wndOK;CXTPButtonm_wndCancel;};

 

然后我们只需要在OnInitDialog函数中指定按钮的对齐方式就能够保证对话框在OnSize的时候,各个空间都在理想的位子了:

BOOL MyDlg::OnInitDialog(){CXTPDialogBase<CXTPResizeDialog>::OnInitDialog();// 设置对齐方式SetResize(IDOK, SZ_BOTTOM_RIGHT, SZ_BOTTOM_RIGHT);SetResize(IDCANCEL, SZ_BOTTOM_RIGHT, SZ_BOTTOM_RIGHT);return TRUE;  // return TRUE unless you set the focus to a control// EXCEPTION: OCX Property Pages should return FALSE}

 

 

原创粉丝点击