我建立一个比较复杂的可以调整size的对话框应用程序,当我调整对话框大小的时候,大量的控件一闪一闪的把我烦死了。我想要的是只在我停止调整对话框大小时,控件的位置大小一步到位。
snoopy每日一译-迅速伸缩对话框类CSnapDlg
by: Mike Scanlon 2004.5.11
from:codeGuru
翻译:snoopy
我建立一个比较复杂的可以调整size的对话框应用程序,当我调整对话框大小的时候,大量的控件一闪一闪的把我烦死了。我想要的是只在我停止调整对话框大小时,控件的位置大小一步到位。
使用方法:
1、在StdAfx.h中加入SnapDlg.h。
2、从修改你的对话框使它从CSnapDlg继承。
3、修改你的对话框的构造器,使它调用CSnapDlg的构造器:
CYourDlg::CYourDlg(CWnd* pParent /*=NULL*)
: CSnapDlg(CSnapDialogDlg::IDD, pParent)
4、修改消息影射,使它通过CSnapDlg影射消息:
BEGIN_MESSAGE_MAP(CSnapDialogDlg, CSnapDlg)
5、重载SizeDialog()函数调整对话框中控件的位置和大小。
6、确保你的对话框的OnSize, OnSizing, OnInitDialog, 和OnCaptureChanged 消息处理调用CSnapDlg的处理函数而不是CDialog。