- 浏览: 190919 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
在世界的中心呼喚愛:
思路很好
连连看全局消除算法 -
tianaozhu:
请问,我修改了词库和源文件怎么就不好用了, 我源文件是: My ...
自己动手开发翻译软件(Java版) -
Arlrn:
博主你好,最近在学习排序算法,看了你的博客,你的直接插入排序, ...
各种排序算法的实现及其比较 -
sharong:
有一个明显错误,很显然冒泡排序的时间复杂度是O(n^2)
各种排序算法的实现及其比较 -
julydave:
希尔排序不太对吧。。
各种排序算法的实现及其比较
之前也学过一点MFC的知识,但因很久没去碰就都忘 得差不多了。于是我想再从头开始,系统的再学一遍,并同步这个学习笔记。与大家共享,共同学习MFC。学习教材主要是清华大学出版的《MFC Windows 应用程序设计(第二版)》。当然也会参考一些其它的资料……
该书的目录如下:
第1章 Windows应用程序基础知识 1.1 Windows应用程序的基本概念 1.2 Windows应用程序的结构 1.3 用函数封装Windows程序 1.4 窗口函数的另一种结构 小结 练习题 思考题 第2章 Windows应用程序的类封装 2.1 应用程序主函数的C++类封装 2.2 派生类的应用 2.3 窗口函数的封装--消息映射 小结 练习题 思考题 第3章 MFC应用程序框架 3.1 早期的应用程序框架及其MFC类 3.2 最简单的MFC程序实例 3.3 应用程序的文档/视图结构 3.4 文档类CDocument的派生类 3.5 视图类CView的派生类 3.6 窗口框架类CFrameWnd的派生类 3.7 文档模板类CDocTemplate 3.8 应用程序类的派生类 3.9 MFC文档/视图应用程序框架中各个对象的关系 3.10 对象的动态创建 小结 练习题 思考题 第4章 图形 第5章 MFC的通用类 第6章 Windows应用程序界面的设计 第7章 鼠标和键盘 第8章 资源 第9章 MFC的文件处理机制 第10章 控件 第11章 对话框 第12章 进程与线程的管理 第13章 动态链接库及其使用 第14章 组件对象模型基础 第15章 ActiveX应用基础 第16章 用MFC设计数据库应用程序 第17章 异常和异常处理 附录A 数据类型与Windows句柄 附录B 标识符的匈牙利记法 附录C MFC的消息映射 附录D 文档/视图框架的补充内容 附录E 多文档/视图框架的一个实例 附录F 类信息表与CObject类 附录G Visual C++中文件类型小结 参考文献 第1章 Windows应用程序基础知识 1.1 Windows应用程序的基本概念 1.2 Windows应用程序的结构 1.3 用函数封装Windows程序 1.4 窗口函数的另一种结构 小结 练习题 思考题 第2章 Windows应用程序的类封装 2.1 应用程序主函数的C++类封装 2.2 派生类的应用 2.3 窗口函数的封装--消息映射 小结 练习题 思考题 第3章 MFC应用程序框架 3.1 早期的应用程序框架及其MFC类 3.2 最简单的MFC程序实例 3.3 应用程序的文档/视图结构 3.4 文档类CDocument的派生类 3.5 视图类CView的派生类 3.6 窗口框架类CFrameWnd的派生类 3.7 文档模板类CDocTemplate 3.8 应用程序类的派生类 3.9 MFC文档/视图应用程序框架中各个对象的关系 3.10 对象的动态创建 小结 练习题 思考题 第4章 图形 第5章 MFC的通用类 第6章 Windows应用程序界面的设计 第7章 鼠标和键盘 第8章 资源 第9章 MFC的文件处理机制 第10章 控件 第11章 对话框 第12章 进程与线程的管理 第13章 动态链接库及其使用 第14章 组件对象模型基础 第15章 ActiveX应用基础 第16章 用MFC设计数据库应用程序 第17章 异常和异常处理 附录A 数据类型与Windows句柄 附录B 标识符的匈牙利记法 附录C MFC的消息映射 附录D 文档/视图框架的补充内容 附录E 多文档/视图框架的一个实例 附录F 类信息表与CObject类 附录G Visual C++中文件类型小结 参考文献
在此列出,仅做参考。
本文是个开头篇,因此从最简单的Windows程序设计说起。每个笔记都是代码占主要部分。。其中的细节大都以注释的方式给出。
#include<windows.h> //声明窗口函数原型 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //------------------------------------------------------------------- //主函数,程序的入口 int WINAPI WinMain(HINSTANCE hInstance, //当前应用程序实例的句柄 HINSTANCE PreInstance, //前一个应用程序实例句柄 LPSTR lpCmdLine, //指向本程序命令行的指针 int nCmdShow) //决定应用程序窗口显示方式的标志,下面会讲 { HWND hwnd; //窗口句柄,用来把持整个窗口 MSG msg; //窗口消息 char lpszClassName[]="窗口"; //窗口类型名,给下面的用,可以直接写在下面 WNDCLASS wc; //窗口名,注册这个窗口时用到 wc.style=0; //窗口样式,一般设置为0 wc.lpfnWndProc=WndProc; //指向窗口函数的指针 wc.cbClsExtra=0; //一般设为0 wc.cbWndExtra=0; //一般设为0 wc.hInstance=hInstance; //定义窗口应用程序的实例句柄 wc.hIcon=LoadIcon(NULL,IDI_APPLICATION); //加载窗口的图标 wc.hCursor=LoadCursor(NULL,IDC_ARROW); //加载光标 wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); //设置窗口背景颜色 wc.lpszMenuName=NULL; //窗口的菜单资源名 wc.lpszClassName=lpszClassName; //窗口类型名 RegisterClass(&wc); //注册这个窗口 //创建窗口 hwnd=CreateWindow( lpszClassName, //窗口类型名 "Windows", //窗口实例标题 WS_OVERLAPPEDWINDOW, //窗口风格 120,50,800,600, //窗口左上x值,左上y值,宽度和高度 NULL, //父窗口的句柄 NULL, //主菜单的句柄 hInstance, //应用程序实例句柄 NULL); //无参数,设为NULL ShowWindow(hwnd,nCmdShow); //显示窗口 UpdateWindow(hwnd); //更新窗口 //用一个死循环来等待并读取消息。当读不到时,GetMessage函数不会返回。 while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); //解析讲到的事件消息 DispatchMessage(&msg); //分发事件消息,由下面的WndProc函数处理 } return msg.wParam; } //------------------------------------------------------------------ //处理消息的窗口函数 LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_LBUTTONDOWN: { MessageBeep(0); //按下左键时就beep一声 } break; case WM_DESTROY: PostQuitMessage(0); //当上面的while循环遇到这个消息时就会中止,因为它让GetMessage返回0 break; default: return DefWindowProc(hwnd,message,wParam,lParam); //其它的事件交给默认的窗口过程来处理 } return 0; }
得到了最简单的一个窗口 ,如下图:
WinMain里面的第四个参数在MSDN里面有如下说明:
写Win32窗口程序时,上面这段代码可以直接拷过去用,之后再在这基础上做些增加、修改就是一个新的窗口应用程序了。
发表评论
-
连连看全局消除算法
2012-03-08 01:48 4282好久没写技术博客了。I ... -
object-c笔记一
2011-07-22 11:03 846(本笔记只是简单的记录,只给自己看) 接口的定义: ... -
VC2010中C++的右值引用新特性
2011-05-27 13:37 1464// RightValue.cpp : Defines ... -
linux下用命令编译/调试C++程序
2011-04-01 14:17 2991先安装gcc : sudo apt-get insta ... -
对Windows程序中设备上下文DC(device context)的理解(转)
2010-11-08 00:58 1589对Windows程序中设备上 ... -
MFC学习笔记(九)
2010-10-30 01:47 1340前面已经讲了够多的基础性的东西了,还有一些,但我想还是之后遇到 ... -
MFC学习笔记(八)
2010-10-30 00:55 1005MFC把早期的窗口类的功能分成三个部分:数据存储、管理部分,数 ... -
MFC学习笔记(七)
2010-10-28 01:29 936创建一个普通的Win32 Application,加上一个.c ... -
MFC学习笔记(六)
2010-10-28 01:16 1071先来了解几个类 1、CObject类 有相当一部分类的基 ... -
MFC学习笔记(五)
2010-10-27 01:55 1415早期的MFC应用程序框架结构由两个对象组成:应用程序类CWin ... -
MFC学习笔记(四)
2010-10-27 00:28 1130前面写了那么多代码,但很多东西都是固定的,我们需要写的主要是消 ... -
MFC学习笔记(三)
2010-10-26 14:54 1116这一次修改事件的处理函数,当鼠标左键按下时,可在窗口的用户区显 ... -
MFC学习笔记(二)
2010-10-26 14:31 971上一篇写的是一个单窗口的程序,这一次写一个多窗口的程序,第一个 ... -
高质量C++/C编程学习笔记(七)----- 其它
2010-10-24 10:29 7601、继承不要随便使用, ... -
高质量C++/C编程学习笔记(六)----- 构造 析构 赋值函数
2010-10-24 10:15 8081、当创建一个类时,C++ ... -
高质量C++/C编程学习笔记(五)----- 基础函数的高级特性
2010-10-24 02:13 10221、重载: 只能靠参数而不能靠返回值类型的不同来区分重载函 ... -
高质量C++/C编程学习笔记(四)----- 内存管理(2)
2010-10-22 00:46 10945、用指针参数传递内存 ... -
高质量C++/C编程学习笔记(三)----- 内存管理(1)
2010-10-22 00:17 11291、 三种内存分配方式 ... -
高质量C++/C编程学习笔记(二)----- 基础
2010-10-21 23:10 9091、在函数体的“入口处” ,用断言对参数的有效性进行检查。断言 ... -
高质量C++/C编程学习笔记(一)----- 入门
2010-10-21 01:05 1212学了这么久的C/C++,在 ...
相关推荐
MFC学习笔记
MFC学习笔记(onenote格式),一个朋友参加MFC培训,其教师在讲课过程中做的学习日记。图文并茂,是初学者很好的学习资料。
C++、MFC学习笔记!
MFC学习笔记.docx 自己的学习笔记。
这是一个关于 MFC菜单操作学习笔记 的资源,有需要的朋友下载阅读。
这是MFC的学习笔记,很好的。比较容易入门。
价值20000元达内win32加MFC学习笔记.
本人自学MFC期间的学习笔记,分类详细,适合初学者
Visual_C++MFC学习笔记,在你一边听视频一遍查找笔记中的内容,学习C++ MFC会更容易些。
本人从零开始学C++/MFC的时候,积累和整理的学习笔记,其中有大部分常见问题和处理办法,看过很过帖子,也查过很多资料,最终把他们记录下来。 Demo内容: ★ ::OnTimer OnTimer()函数用于实现定时控制功能,定时...
达内MFC课程完整笔记
声明:所有代码和程序仅作为参考,各位可自由使用,出现一切后果自负。 博文地址:http://blog.csdn.net/shortcoder/article/details/16370697
C++ MFC 学习笔记 对初学者有很大提高
MFC学习笔记--案例--销售系统,txt文件存储,格式固定,文件内容增加、删除、修改等,简单控件的使用,文本框,下拉框,表格,界面切换等,缓存,方便以后复习
7.16基于对话框编程对话框是一种特殊类型的窗口,绝大多数Windows程序都通过对话框与用户进行交互 2.1 创建基于对话框的 MFC 应用程序框架程序的创建
MFC框架的一个原理学习笔记!作为自己以后学习的一个资源
学习mfc入门参考,看看吧有点用
MFC的学习笔记,从windows API处理,消息响应机制,MFC框架,MFC内部机制,到MFC控件,MFC类库使用,多线程,DLL,数据库等