- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
向CModelessExamView类加入消息映射,方法如下:选择视图类中CModelessExamView 节点,在其属性窗口中选择“消息”图标,然后在其下方列表中选择WM_LBUTTONDOWN,接受默认消息函数名OnLButtonDown,如图2.26所示: 为WM_RBUTTONDOWN编写消息处理函数,以弹出模式对话框和无模式对话框,代码如下: void CModelessExamView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CModeDlg Modedlg; Modedlg.m_strMode=temp; Modedlg.DoModal(); CView::OnLButtonDown(nFlags, point); } temp中有从无模式对话框中传递过来的字符串,代码用到CModeDlg类,因此在ModelessExamView.cpp文件开始部分加入下列代码: #include ModeDlg.h 同理,向CModelessExamView类加入WM_RBUTTONDOWN,代码如下: void CModelessExamView::OnRButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if(modelessdlg-GetSafeHwnd ()==0) { modelessdlg-CreateModelessDlg(); } CView::OnRButtonDown(nFlags, point); } modelessdlg是CModelessDlg类型的指针变量,定义方法为:在ModelessExamView.h文件开头部分加入类声明: class CModelessDlg; 参照添加temp方法再加入成员modelessdlg: public CModelessDlg* modelessdlg; GetSafeHwnd ()是一个状态判断函数,CreateModelessDlg()是CModelessDlg类自定义成员函数,作用是创建无模式对话框窗口,在ModelessDlg.h文件的CModelessDlg类声明中,加入CreateModelessDlg()函数。方法如下: 选择类视图的CModelessDlg节点,单击鼠标右键,从弹出的快捷菜单的“添加”子菜单中选择“添加函数”,如图2.24所示。 单击“添加函数”后,弹出“添加成员函数向导”对话框,如图2.27所示: 单击“完成”按钮,便定义了CreateModelessDlg()函数,系统在ModelessDlg.h文件的CModelessDlg类声明中,加入CreateModelessDlg()函数原型: public: BOOL CreateModelessDlg(void); 在ModelessDlg.cpp文件中加入CreateModelessDlg()函数的实现部分: BOOL CModelessDlg::CreateModelessDlg(void) { return CDialog::Create(IDD_DIALOG2); } CreateModelessDlg()函数调用了CDialog类的成员函数Create,其参数为无模式对话框的ID值。 最后在CModelessExamView.cpp文件开始部分加入下列代码: #include ModelessDlg.h 在CModelessExamView.cpp文件的构造函数构造无模式对话框对象,在析构函数删除无模式对话框对象,代码如下: CModelessExamView::CModelessExamView() : temp(_T()) , modelessdlg(NULL) { // TODO: 在此处添加构造代码 modelessdlg=new CModelessDlg(this); } CModelessExamView::~CModelessExamView() { delete modelessdlg; } * *
文档评论(0)