第一课:从main到WinMain

第二课:窗口和消息

第三课:MFC编程

第四课:MFC应用程序框架

概括:

Win32的两种编程框架:SDK方式、MFC方式

1. SDK方式:使用WinMain入口函数和窗口过程函数分别来管理窗口和处理消息

2. MFC方式:使用应用程序类对象的构造,自动运行用户版本的虚函数InitInstance进行初始化,最后运行Run函数进入消息循环处理

小结:

SDK方式相对简单一些,而MFC方式由于涉及可视化编程,所以代码中添加了许多C/C++标准语言中没有的扩展内容。例如,用于消息处理的各种宏,用于ClassWizard自动处理的“//{{”和“//}}”标记,用于调试的_debug信息等。

在学习MFC编程时,要学会理解MFC类的作用和关系。例如第4课提到的MFC类结构。

建立上述类的概念之后,就要思考如何进行界面设计,包括主框架窗口的属性改变、如何添加并编辑对话框、菜单、工具栏、状态栏、图标、光标等。

有了界面设计能力之后,就可对一些常见应用进行程序设计。例如图形图像处理、科学计算、数据库以及网络应用等。

第一章 Windows编程基础(1~4课)的更多相关文章

  1. 第一章 C++编程基础

    第一章 C++编程基础 1.1 如何撰写C++程序 赋值 assignment复合赋值 (compound assignment) += 函数(function)是一块独立的程序代码序列(code s ...

  2. #《Essential C++》读书笔记# 第一章 C++ 编程基础

    前言 Stanley B.Lippman 先生所著的<C++ Primer>是学习C++的一本非常优秀的教科书,但<C++ Primer>作为一本大部头书,显然不适合所有的初学 ...

  3. 第一章 Windows内核概述

    第一章 Windows内核概述 这一章节描述了Windows内核知识中最重要的几个概念,这些话题在这本书之后会有更详细的描述,那些会与当前的主题密切相关.要确保你理解这个章节的概念,因为这些概念构成了 ...

  4. Objective-C 基础教程第三章,面向对象编程基础知

    目录 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 0x01 间接(indirection) 0x02 面向对象编程中使用间接 面向过程编程 面向对象编程 0x03 OC ...

  5. 第一章. ActionScript 语言基础

    第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程 ...

  6. 第一章 oracle数据库基础

    第一章   oracle数据库基础 1.oracle简介-->数据库管理系统    1.1:数据库    1.2:全局数据库名    1.3:数据库实例    1.4:表空间    1.5:数据 ...

  7. 回顾PHP:第一章:PHP基础语法

    第一章:PHP基础语法 一.常量: 1.1.define()函数:define(‘R’,’5’,’true’); //R:常量名,5:常量值,true:常量名对大小写不敏感,为false时表示对常量名 ...

  8. JAVA 入门第一章(语法基础)

    本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...

  9. Windows编程基础

    主要内容:介绍Windows编程的一些基础概念 1.窗口的概念 <1>一个应用程序的窗口通常包括控制菜单框.下拉菜单. 工作区以及最大化按钮.最小化按钮, 还有垂直滚动条.水平滚动条 &l ...

随机推荐

  1. java中反射的基本使用

    fanShe.java package example5;class fanShe{    /*1.应用在一些通用性比较高的代码中.     *2.后面学的框架,大多数都是应用框架来实现的.     ...

  2. MySQL 参数slave_pending_jobs_size_max设置

    今天生产环境上从库出现SQL进程停止的异常,错误信息如下: Slave_IO_Running: Yes Slave_SQL_Running: No Replicate_Do_DB: Replicate ...

  3. 导入/导出excel和PHPExcel基本使用

    * PHPExcel基本使用 * PS:文章如果有误,请及时指出,给予修改 * 项目中导入PHPExcel * 可以去网上下载 github composer 都可以 * 为了方便下载,我将压缩包添加 ...

  4. angular2路由之routerLinkActive指令

    angular2的routerLinkActive指令在路由激活时添加样式class .red{  color: red;}    <a routerLink="/user/login ...

  5. FireDAC的SQLite初探

    // uses FireDAC.VCLUI.Wait  之后, 可不用添加 TFDGUIxWaitCursor TFDConnection          // 数据连接 TFDQuery      ...

  6. 如何在HHDI中进行数据质量探查并获取数据剖析报告

    通过执行多种数据剖析规则,对目标表(或一段SQL语句)进行数据质量探查,从而得到其数据质量情况.目前支持以下几种数据剖析类型,分别是:数字值分析.值匹配检查.字符值分析.日期值分析.布尔值分析.重复值 ...

  7. Redis- redis.conf

    ############################################## 基本设置 ######################################## # redis ...

  8. Django的安装创建与连接数据库

    HTTP协议简介 HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP).通过使用网 页浏览器.网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端 口为 ...

  9. struts2学习笔记三

    一.国际化概念(了解) 1.什么是国际化 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 2.什么需要国际 ...

  10. ld: i386 架构于输入文件 bar.o 与 i386:x86-64 输出不兼容

    报错:ld: i386 架构于输入文件 foo.o 与 i386:x86-64 输出不兼容 或者:ld: i386 architecture of input file `foo.o' is inco ...