sd.rtMargin=m_rectMargin;
(3)打开页面设置对话框,保存程序用户设置的页面空白区域。这部分功能的实现代码
在CGridDemoView::OnFilePrintSetup()函数中具体如下:
if (dlg.DoModal()==IDOK)
{
//设置新的页边空白区域
dlg.GetMargins(&m_rectMargin,NULL);
}
4.5.3 查找对话框
用户在查找字符串时,在查找对话框中可进行查找字符串的设置和其他查找选项的设
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·92·
置,如查找方向、是否区分大小写等,如图4-29 所示。
图4-29 查找对话框
查找对话框在MFC 中封装为CFindReplaceDialog。该对话框跟其他Windows 通用对话
框不同之处在于该对话框一般不作为模态对话框使用,而作为非模态对话框。如单击“查找
下一个”按钮时,对话框会向父窗口发送消息,通知主窗口进行查找。创建查找对话框的步
骤如下:
(1)添加“编辑|查找”菜单的消息处理函数CGridDemoView::OnFind()。
GridDemo 例程中创建查找对话框的代码在CGridDemoView::OnFind()函数中添加。
CGridDemoView::OnFind() 函数是“ 编辑| 查找” 菜单的消息处理函数, 对应ID 为
ID_EDIT_FIND。需要按照第3 章的讲解,在“编辑”顶层菜单中添加标题为“查找”,ID 为
ID_EDIT_FIND 的子菜单,然后为CGridDemoView 类添加这个ID 的消息处理函数,即
OnFind()。
(2)为CGridDemoView 类添加CFindReplaceDialog 的指针成员变量。
按照4.3 节中非模态对话框的创建过程,应当在堆中创建查找对话框的对象,因此,用
户还需为CGridDemoView 添加类型为“CFindReplaceDialog *”的m_pFindDlg 成员变量。方
法为在IDE 左侧工作区单击“ClassView”选项卡,展开GridDemo classes 节点,然后在
CGridDemoView 上单击鼠标右键,选择“Add Member Variable”菜单项,打开“Add Member
Variable”对话框,在“Variable Type”栏中输入“CFindReplaceDialog *”,在“Variable Ncom”
栏中输入“m_pFindDlg”的变量。
(3)创建CFindReplaceDialog 对象,并打开查找对话框。
这一功能由CGridDemoView::OnFind()函数实现,代码如下:
void CGridDemoView::OnFind()
{
// TODO: Add your command handler code he