MFC对话框几个对话框程序例子建立对话框和相应程序相关联.pdfVIP

  • 9
  • 0
  • 约 88页
  • 2017-06-07 发布于湖北
  • 举报

MFC对话框几个对话框程序例子建立对话框和相应程序相关联.pdf

MFC对话框和对话框类几个对话框程序例子建立对话框与相应的程序相关联 如何建立对话框 与 相应的程序相关联: 在 MFC 中,对资源的操作都是建立相关的类来完成的; 所以我门先 NEW 一个 对话框资源 然后建立他的类与相应的应用程序相关联就 可以; 步骤: 1 NEW 一个对话框资源 2 在资源上选择 Classwarrzd 上创建一个新的类 (或在资源上双击左键) 3 起名字 !(注意文件名 将会去掉 C 例如 我门的名字叫 CDaiDlg 那么文件 名是 DaiDlg); 对话框的俩种类型: 1 模态对话框(特性:当建立模态对话框时,将不允许用户点击对话框以外的 控件后应用程序本身,也就是说当模态对话框建立时 应用程序停止运行 而只 运行对话框,所以模态对话框是可以使用 局部变量的定义方法的! ) 模态对话框是比较方便的一种对话框~建立函数: int CDialog::DoMadol() //注意他是 CDialog 类成员 也就是说想使用先建 立一个 CDialog 对象吧 如果我门想要在 View 类中 建立一个 CDialog 对象不要忘了 要在 View 的Cpp 文件中包含 CDialog.h 2 非模态对话框(特性与模态的相反) 使用成员函数 BOOL CDialog::Create( UINT nIDTemplate, CWnd* pParentWnd = NULL ); nIDTemplate 为对话框的 ID 号 pParentWnd 拥有这个对话框的 对象指针,如果 是 NULL 为默认的主应用窗 口 也就是 Frame 应用窗口 注意如果我门在使用 Create 创建 非模态对话框时 要调用一个函数来 显示 这 个对话框 CWnd::ShowWindow(SW_SHOW);不仅这样 非模态对话框时 不能是局部变 量! 完整代码: CDialog dlg; dlg.Create(ID,this); dlg.ShowWindow(SW_SHOW): 对 ShowWindow 的发现: ShowWindow 是 CWnd 的成员函数 是改变窗口的显示属 性(包括 Hide Show 等) ShowWindow 这一函数是改变属性 同样在创建一个窗口时(窗口包括很多, CButton 也是一个窗口!)可以直接给他赋予属性 WS_VISIBLE (可见的)等属 性 也可以解决改变窗口之后 更新窗口的问题 显示出新窗口的问题~ ! 对于俩种对话框的销毁; 模态对话框中 OnOK 的成员函数中有对模态对话框的 EndDialog();来销毁 而非模态的对话框时 OnOK 不能销毁对话框 而我门需要对 OnOK 函数进行覆盖 调用 DestryWindow; 做一个对话框的小程序,在对话框上动态增加一个按钮: 在这要强调一下 动态的增加某种资源 是需要把 资源对象 声明成类的成员 这 样才可以(不然被析构了 建立了也就没有效果了) 而资源对象是对象 资 源是资源 只有吧资源和对象联系起来 这个的东西才有实际的意义,我门 才能对他进行操作, 而把资源和对象联系起来有俩个函数 LoadMenu 和 CreateMenu (当然有些类是不存在Load 函数的 例:Button 类 ) Load 函数 是将一个已经被我门在 资源视图中创建好的 东西 与对象联系 而 Create 函数是直接创立一个新的东西 (而直接创立时我门还需要给他一些 这样东西的属性 所以使用 Create 函数时 总是件另人讨厌的事情~) 更重要的事情是:一个对象只能与一个资源相联系 如果你想把这个已与资源联 系的对象与另一个资源联系起来 那必须先调用 DestoryWindow()这个资源 然 后在做新的联系; 静态文本框的操作: 刚刚建立的静态文本框 是不可以做消息响应的(一般也不需要这么去做) 而我门想要去用静态文本框的消息 就要改边文本框的 ID (因为一般不给文本 框添加 消息响应 文本框的的 ID 都是一样的) 并且要把属性-样式 (Styles)-通告 (

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档