如何把我们在现有工程中已经修饰好的窗口,各种控件的位置和属性快速完整的移植到新的工程中去呢?
首先在原项目工程目录中找到*.rc文件,比如说我的这个项目对应的是SyncDataMonitor.rc,然后在打开他找到想要
移植到新的工程的窗口的描述,
IDD_SYNCDATAMONITOR_DIALOG DIALOGEX 0, 0, 561, 274
STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "百游数据库同步监控平台"
FONT 9, "宋体", 0, 0, 0x1
BEGIN
GROUPBOX "监控区",IDC_STATIC_Control,266,9,288,257
CONTROL "",IDC_STATIC_HISTOGRAM,"Static",SS_BLACKRECT,272,22,275,237
GROUPBOX "异常信息",IDC_STATIC,7,10,254,258
CONTROL "List1",IDC_LIST_Error_LogList,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,14,23,241,240
END
IDD_DIALOGALARM DIALOGEX 0, 0, 339, 96
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "收到信息"
FONT 9, "宋体", 0, 0, 0x0
BEGIN
CONTROL "List1",IDC_LISTALARM,"SysListView32",LVS_REPORT | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,3,4,331,85
END
把这段话拷贝到你新工程的.rc文件中,这时在新工程的资源视图中还不能正确显示这个对话筐,在项目工程文件
中的Resource.h加入
#define IDC_STATIC_Control 1001
#define IDC_STATIC_HISTOGRAM 1008
#define IDD_DIALOGALARM 170
#define IDC_LISTALARM 1032
注意1001这些序号从系统已经定义好的最大的开始逐次加一就可以,这时候保存,再到资源视图中打开这个窗口,
一个布局规整的窗口出现了.
结束语:这只是一个小窍门,在实际工作中如果你有很多自绘控件,和动态绘制的东西,你还是需要在代码中实现.