MFC学习笔记
文章平均质量分 73
山上有只羊M
这个作者很懒,什么都没留下…
展开
-
MFC学习笔记——CDialog(模态对话框及其弹出过程)
一.模态对话框和非模态对话框Windows对话框分为两类:模态对话框和非模态对话框。模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。二.模态对话框是怎样弹出的毕竟加法计算器程序大部分都是MFC自动生转载 2016-07-18 16:56:13 · 5315 阅读 · 1 评论 -
MFC学习笔记——对话框:路径选择对话框(BROWSEINFO)
BROWSEINFO结构typedef struct_browseinfo{ HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle; UINT ulFlags; BFFCALLBACK lpfn; LPARAM lParam; in原创 2016-07-22 16:53:09 · 2344 阅读 · 1 评论 -
MFC学习笔记——读写配置文件(.ini)和注册表
转自 http://blog.chinaunix.net/uid-24517893-id-2973290.html配置文件中经常用到ini文件,在VC中其函数分别为://写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);各参转载 2016-07-18 12:32:43 · 1926 阅读 · 0 评论 -
MFC学习笔记——消息映射机制afx
前面已经说过,Windows应用程序是消息驱动的。在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作。比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应。什么是消息窗口消息一般由三个部分组成:1.一个无符号整数,是消息值;(2)消息附带的WPARAM类型的参数;(3)消息附带的LPARAM类型的参数。其实我们一般转载 2016-07-21 09:35:01 · 1122 阅读 · 0 评论 -
MFC学习笔记——应用程序框架分析(CWinApp)
程序运行都要有入口函数,在之前的C++教程中都是main函数,而Windows应用程序的入口函数是WinMain函数,MFC程序也是从WinMain函数开始的。Windows SDK开发程序就是不使用MFC类库,直接用Windows API函数进行软件开发。关于消息循环再简单说下,Windows应用程序是消息驱动的,系统或用户让应用程序进行某项操作或完成某个任务时会发送消息,进入程序的消息队列,然后转载 2016-07-20 17:43:54 · 791 阅读 · 0 评论 -
MFC学习笔记——如何使窗口最大化,但不遮盖任务栏
使用ShowWindow(SW_MAXIMIZE),使对话框最大化后,任务栏也被遮住了,如何去掉任务栏的遮盖?而且对话框窗口还处于激活状态。此时,应该没有设置WS_CAPTION属性,只能自己MoveWindow。函数ShowWindow(SW_MAXIMIZE)应该是在OnInitDialog()中调用的。ShowWindow(SW_MAXIMIZE)是覆盖任务栏的。 用下面代码代替之 C原创 2016-07-19 11:43:16 · 6645 阅读 · 0 评论 -
MFC学习笔记——解决:不能添加控件变量
将一个对话框添加完控件后,想给控件添加(绑定)变量,但右键点添加变量后竟没反应。上网一查,有同样问题的还真有,就是没解决方案。但扫目光扫过之处,”绑定“ 两字,顿觉有可能是这个问题, 将对话框重新添加了一个类,再为控件添加变量,就解决了。 分析,可能是修改了,对话框的ID 导致原来的,类跟对话框关联,脱离。导致VC2010 不识别对话框绑定类了。 所以要添加控件变量,就要先添加控件所属窗体的类。转载 2016-07-20 12:43:48 · 4978 阅读 · 0 评论 -
MFC学习笔记——ASSERT、GetSystemMenu、IDM_ABOUTBOX
介绍一段代码: 在系统菜单中添加字符串资源IDS_ABOUTBOX和菜单资源IDM_ABOUTBOX。 // IDM_ABOUTBOX 必须在系统命令范围内。 // 低4位是系统内部使用的 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); // 如果一个应用程序增加命令到窗口菜单,应该使用小于0xF000的标识符原创 2016-07-19 20:07:20 · 7876 阅读 · 0 评论 -
MFC学习笔记——状态栏(基于对话框的MFC程序)
首先, 在类定义中添加状态栏的定义。CStatusBarCtrl* m_statusBar;然后, 在OnInitDialog()函数中添加以下代码:// 创建状态栏 m_statusBar = new CStatusBarCtrl; RECT m_Rect; GetClientRect(&m_Rect); //获取对话框的矩形区域 m_Rect.top = m_原创 2016-07-29 14:03:33 · 563 阅读 · 0 评论 -
MFC学习笔记——CDialog(设置对话框控件的Tab顺序)
转自 http://www.jizhuomi.com/school/c/159.html打开“Resource View”视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图。在主菜单中选择“Format”->”Tab Order”,或者按快捷键Ctrl+D,对话框模板上就会显示各个控件的Tab顺序数字。如下图: 上图中每个控件左上角都有一个转载 2016-07-18 16:42:57 · 1223 阅读 · 0 评论 -
MFC学习笔记——前言
VC++和MFC解决方案和工程转载 2016-07-15 15:03:18 · 429 阅读 · 0 评论 -
MFC学习笔记——CDialog入门
转自 http://www.jizhuomi.com/school/c/156.html 创建对话框主要分两大步1.创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件; 2.生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。资源视图在Resource View视图中可以看到工程Addition的资源树,展开Addition.rc,下面有四个子项转载 2016-07-15 15:41:18 · 1103 阅读 · 0 评论 -
MFC学习笔记——CDialog(添加控件)
转自 http://www.jizhuomi.com/school/c/156.html视图【View】 -> 工具箱【Toolbox】,打开工具箱界面,选中想要的控件名字,然后拖到对话框上的空白处即可。 右击已经添加的该控件,点属性【properties】,打开属性界面。1、静态文本框(Static Text)主要用来显示不可变的文本,如“用户名”3个字。 修改Caption,可修改标题,即T转载 2016-07-15 15:57:13 · 1100 阅读 · 0 评论 -
MFC学习笔记——CDialog(创建对话框类和添加控件变量)
转自 http://www.jizhuomi.com/school/c/157.html用过VC++6.0的可能记得,我们定义的对话框类都是从CDialog类派生的,但在VS2010中,一般对话框类都是继承自CDialogEx类。创建对话框类1.在ResourceView的【Dialog】节点上右键,然后在右键菜单中选择【Insert Dialog】创建一个新的对话框模板,ID就使用默认的IDD_D转载 2016-07-15 16:46:26 · 8046 阅读 · 0 评论 -
MFC学习笔记——CDialog(为控件添加消息处理函数)
转自 http://www.jizhuomi.com/school/c/158.htmlMFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理。比如我们点击按钮时就会产生BN_CLICKED消息,修改编辑框内容时会产生EN_CHANGE消息等。一般为了让某种操作达到效果,我们只需要实现某个消息的消息处理函数。添加消息处理函数以“为按钮添加消息处理函数”为例,转载 2016-07-18 11:03:48 · 1286 阅读 · 0 评论 -
C++语法——字符串(CString,TCHAR*,LPCTSTR)
CStringCString是一种数据类型,用于对字符串进行操作。一般来说,只有在MFC程序中才可以使用。。这里有一篇文章,介绍如何在非MFC程序中使用CString。http://www.cnblogs.com/lidabo/p/3684572.html 本文就不在进行介绍啦~~ 1、在字符串中子字符串或字符int Find(TCHAR ch) const;int Find(LPCTSTR l原创 2016-08-18 10:50:30 · 1304 阅读 · 0 评论