MFC软件工程架构模型-模式窗口-非模式窗口
1. SDI单文档界面;
MDI多文档界面.有多个"关闭-最大化-最小化"等这样的窗口嵌套
基于对话框的软件模型
2.模式对话框和非模式对话框
模式对话框:使用DoMoel(),弹出一个新界面,但是主界面不能再操作(栈内申请,临时)
非模式对话框:弹出新的界面,背后的界面依然可以使用(要使用指针-堆内申请)
CChatDlg *pDlg = new CChatDlg ;
pDlg ->Creat(IDD_窗口_ID);//创建一个窗口-加第二个参数GetDesktopWindow()可以让该窗口独立,即在任务栏可以看到的
pDlg ->showwindow(SW_SHOW);
3.GetDlgItem(ID_DLG)获取这个窗口的指针,参数可以使按钮控件指针
SetWindowText("哈哈");设置窗口名字
SetDlgItemText(IDC_BUTTON,"按钮");
ShowWindow(SW_HIDE);//隐藏窗口
4.非模式对话框:一般的点击关闭窗口只是调用EndDialog();类似隐藏,真正关闭摧毁窗口调用onDestory();-DestoryWindoe();
5.OnOK();0nInitDlg();等函数可以直接添加,不用映射,因为基类定义这些都为虚函数,继承下来再次定义直接覆盖
6.Creat创建一些控件都是可以的
m_wnd.Creat("EDit","",***,);//具体入参,查mdn
7.避免空指针
判断指针时if(pWnd->GetSafeHwnd()){}
MFC软件工程架构模型-模式窗口-非模式窗口的更多相关文章
- Qt之模式、非模式、半模式对话框
简述 关于"模式"和"非模式"对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为"半模式". 简述 ...
- Qt之模式、非模式对话框
关于“模式”和“非模式”对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为“半模式“. 模式对话框 描述 阻塞同一应用程序中其它可视窗口输入的对话框.模式对话 ...
- JAVA GUI学习 - JDialog模式、非模式窗口组件学习
/** * JDilog学习笔记 * @author Wfei * */ public class JDialogKnow extends JFrame { JDialog jDialog; JBut ...
- QT对话框模式与非模式
QT模态对话框及非模态对话框 非模态对话框(Modeless Dialog)的概念不是模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭.对于在模态来显示对 ...
- mfc窗口,父窗口parentwindow,所有者窗口ownerwindow 区别
一. parent:创建者,owner:所有者 小玉的父母生下小玉,养到8岁,卖给贾府当丫头小玉的父母是parent,贾府是owner 二. 1.Pop-up窗口: 一个弹出窗口是必须具有WS_POP ...
- 窗口,父窗口parentwindow,所有者窗口ownerwindow
参考文档:http://www.cnblogs.com/fwycmengsoft/p/4026592.html 一. parent:创建者,owner:所有者 小玉的父母生下小玉,养到8岁,卖给贾府当 ...
- MFC主窗口架构模型
根据主窗口类型,MFC软件工程可以分为一下几种架构模型: 1.SDI(Simple Document Interface)单文档界面,一个主窗口下只编辑一份文档 2.MDI(Multiple Docu ...
- MFC模式对话框与非模式对话框 消息处理顺序
对话框有两种创建方式:DoModal和Creat. 其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框下面总结下他们的不同. 对于模态的对话框,在该对话框被关闭前,用户将不能在 ...
- 模型-视图-控制器模式(MVC模式,10种常见体系架构模式之一)
一.简介: 架构模式是一个通用的.可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题.架构模式与软件设计模式类似,但具有更广泛的范围. 模型-视图-控制器模式,也称为MVC模式.是软件 ...
随机推荐
- PHP 函数dirname()使用实例
通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,但是因为__FILE__的路径是当前代码所在文件(而不是url所在文件)完整路径,所以定义配置文件通常要放在根目录下定义网 ...
- iOS 编译64位FFMPEG
最近因为公司项目需要捣腾FFMPEG,所以看了一下资料,现在编译成功了,记录一下. 我自己发现大概有两种方式 二者共同部分 安装装yasm或者(MAcport,我用的是yasm,这里只记录yasm的) ...
- Android 不通过parent实现样式继承
1:styles.xml文件内容如下: <!-- TextView Style --> <style name="tvStyle"> <item na ...
- 调用Android系统设置中的Intent
开发Android软件时,常常需要打开系统设置或信息界面,来设置相关系统项或查看系统的相关信息,这时我们就可以使用以下语句来实现:(如打开“无线和网络设置”界面) Intent intent = ne ...
- cf C. Find Maximum
http://codeforces.com/contest/353/problem/C 先预处理前i个数的和,然后找到第一个出现的1,然后变成0后的和与目前的和比较,如果大就更新. #include ...
- Qt在Windows下的三种编程环境搭建
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...
- POST多个参数到Web API控制器
交互基于Json的方式打包传递就不介绍了,主要设置请求头为 contentType: "application/json", //必须有 数据位Json格式的字符串,在服务器端定义 ...
- MySQL的SQL_CALC_FOUND_ROWS真的很慢么?
分页程序一般由两条SQL组成: SELECT COUNT(*) FROM ... WHERE .... SELECT ... FROM ... WHERE LIMIT ... 如果使用SQL_CALC ...
- js深入研究之函数内的函数
第一种 function foo() { ; function bar() { a *= ; } bar(); return a; } 第二种 function foo() { ; function ...
- 【转】在ubuntu12.04中安装wine和sourceinsight
PS: 用wine其实还可以在Linux下运行其他Windows软件,比如BeyondCompare,过程是一样的 原文网址:http://www.2cto.com/os/201408/322370. ...