1. 接下来所演示的DlgDemo1程序将演示基本的模态对话框的使用:
1) 该程序是基于视图的MFC程序;
2) 视图左上角将显示一个粉红色的矩形;
3) 菜单“文件”中有一个Options菜单项,点击后可以打开一个对话框;
4) 对话框中可以输入想设定的矩形的宽和高(范围必须在1 ~ 128内);
5) 还可以选择显示模式(英寸、厘米、像素,是一组单选按钮);
6) 退出按钮就是默认的OK和Cancel;
7) 还有一个重置按钮Reset,点击后会把宽、高、显示模式重置为默认值(4、2和英寸),但是不关闭对话框,仅仅是控件中的数据发生变化;
8) OK保存后退出对话框,视图中的矩形将会按照用户在对话框中的设置重新显示;
!!工程建立的步骤还是和之前的一样,只不过需要添加一个类COptionsDlg类,以及相应的文件OptionsDlg.h和OptionsDlg.cpp
2. 资源脚本CD了刚Demo1.rc:
1) 菜单项Options的定义:
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
POPUP "文件(&F)"
BEGIN
MENUITEM "退出(&X)", ID_APP_EXIT
MENUITEM "&Options...", ID_FILE_OPTIONS
END
!!注意,必须加...表示需要用户进一步输入才能进行下一步响应;
2) COptionsDlg的框架窗口口的定义:
IDD_OPTIONS DIALOG DISCARDABLE 0, 0, 192, 121
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Options"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "&Width", IDC_STATIC, 16, 16, 28, 8
EDITTEXT IDC_WIDTH, 44, 12, 64, 12, ES_AUTOHSCROLL
LTEXT "&Height", IDC_STATIC, 16, 36, 28, 8
EDITTEXT IDC_HEIGHT, 44, 32, 64, 12, ES_AUTOHSCROLL
GROUPBOX "Units", IDC_STATIC, 16, 56, 92, 52
CONTROL "&Inches", IDC_INCHES, "Button", BS_AUTORADIOBUTTON |