句柄是系统为资源分配内存的标识号。 相当于一个指针指向一块内存空间,我暂时理解成一个地址,一个门牌号

HWND 窗口句柄

HICON 图标句柄

HCURSOR 光标句柄

HBRUSH 画刷句柄

消息的结构体如下

/*
* Message structure
*/
typedef struct tagMSG {
HWND hwnd; //窗口句柄,用来标识窗口,指明这个消息是发给哪个窗口的
UINT message; //消息标示符,方便记忆定义为WM_XXX的形式(windows message)如WM_LBUTTONDOWN表示鼠标左键按下
WPARAM wParam; //指定消息的附加信息也就是上述的message的附加信息
LPARAM lParam; //同上,消息的附加信息
DWORD time; //消息投递到队列中的时间
POINT pt; //鼠标当前位置
#ifdef _MAC
DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

消息分为进队消息和不进队消息,最终都被窗口过程函数处理。

WinMain是程序入口,结构如下:

WinMain(
HINSTANCE hInstance, //程序当前运行的实例的句柄(一个应用程序可以有多个实例,每运行一个实例就分配一个唯一的句柄值)
HINSTANCE hPrevInstance, //当前实例的句柄的前一个句柄,Win32状态下都为NULL
LPSTR lpCmdLine, //指定传递给应用程序的命令参数
int nShowCmd //指定应用窗口的显示情况(大小之类)
);

窗体类的结构体

typedef struct tagWNDCLASSW {
UINT style; //窗口样式 如CS_NOCLOSE 表示禁用系统菜单的关闭按钮
WNDPROC lpfnWndProc; //函数指针,指向窗口过程函数
int cbClsExtra; //表示附加窗口类内存空间,一般为0
int cbWndExtra; //表示附加窗口内存空间,一般为0
HINSTANCE hInstance; //窗口过程的程序的实例句柄
HICON hIcon; //窗口类的图标句柄,LoadIcon加载
HCURSOR hCursor; //窗口类的光标句柄,LoadCursor加载
HBRUSH hbrBackground; //窗口类的背景画刷句柄,GetStockObject获取,获取后需要进行转换(HBRUSH)
LPCWSTR lpszMenuName; //指定菜单资源的名字
LPCWSTR lpszClassName; //指定窗体类的名字
} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;

窗体类创建完成之后需要进行注册:RegisterClass(&wndcls);

注册完毕后就能创建窗口了。

由于时间问题,具体如何实现明天继续写~

VC++深入详解-第一章学习心得(一)的更多相关文章

  1. VC++深入详解-第一章学习心得(二)

    前面介绍到了注册窗口,接下来进行窗口的创建,利用CreateWindow函数,结构如下 CreateWindowExW( DWORD dwExStyle, LPCWSTR lpClassName, / ...

  2. VC++深入详解-第二章学习心得

    由于之前看过C++的一些知识,所以这一章就挑一点以前比较不太在意的进行记录 首先是虚函数,纯虚函数 虚函数用关键字virtual申明,我理解成为派生类提供覆盖 纯虚函数virtual xxx()=xx ...

  3. VC++深入详解-第五章学习心得

    这一章节主要讲解了文本相关的一些编程 插入符的使用 CreateSolidCaret(100,200);//插入符的宽度和高度 ShowCaret(); 插入符的一般使用方法 int CTestVie ...

  4. 孙鑫视频VC++深入详解学习笔记

    孙鑫视频VC++深入详解学习笔记 VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Le ...

  5. IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)

    IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...

  6. 20172327 2018-2019-1 《第一行代码Android》第一章学习总结

    学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...

  7. IIS负载均衡-Application Request Route详解第一篇: ARR介绍

    IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...

  8. Java 集合详解 | 一篇文章解决Java 三大集合

    更好阅读体验:Java 集合详解 | 一篇文章搞定Java 三大集合 好看的皮囊像是一个个容器,有趣的灵魂像是容器里的数据.接下来讲解Java集合数据容器. 文章篇幅有点长,还请耐心阅读.如只是为了解 ...

  9. 前端技术之_CSS详解第一天

    前端技术之_CSS详解第一天 一html部分 略.... 二.列表 列表有3种 2.1 无序列表 无序列表,用来表示一个列表的语义,并且每个项目和每个项目之间,是不分先后的. ul就是英语unorde ...

随机推荐

  1. EL四大作用域 9个jsp对象有效范围 及 对应的类

    java中request,session,application的作用范围 page,request,session,application四者的作用范围: page的作用范围是当前页面:对应El表达 ...

  2. iOS8上放大缩小的动画

    CGAffineTransformMakeScale这个方法我们以前经常使用,但是在IOS8上出现问题了 [UIView animateWithDuration:0.3 animations:^{ b ...

  3. noj [1482] 嘛~付钱吧!(完全背包)

    http://ac.nbutoj.com/Problem/view.xhtml?id=1482 [1482] 嘛~付钱吧! 时间限制: 1000 ms 内存限制: 65535 K 问题描述 大白菜带着 ...

  4. ThinkPHP中视图模型详解.

    很多TP的新手对于模型中的视图模型不甚了解,官方虽然有详细手册,但是对于初学者来说还是比较难以理解! 先简单说一下视图模型所能实现的功能,基本就是主表与副表之间各个字段的关联问题,实现多表关联查询,相 ...

  5. 一些简单的问题. 2的10次方与k (涉及到b k m的要用乘来解读)

    2的10次方是k k就表示2的10次方 2的16次方,解读为 2的6次方(64)*2的10次方(k)  简写为64k    64k=64*k 同理2的20次方  解读为2的10次方*2的10次方  k ...

  6. UVA 10801 Lift Hopping

    算是一道需要动脑筋的最短路问题了,关键在于建图部分,对于n个电梯中每一个都要经过cnt个楼层,a[0],a[1],a[2],a[3],a[4],......a[cnt-1],那么对于任意两个楼层a[j ...

  7. easyui源码翻译1.32--Resizable(调整大小)

    前言 使用$.fn.resizable.defaults重写默认值对象 下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3.2 * *翻译:qq 1364386878 Resiz ...

  8. Linux进程创建和结束

    在Linux中,进程的创建由系统调用fork和vfork完成.它们生成一个子进程并且子进程是父进程的一个复制品. Fork系统调用对应的kernel函数是sys_fork,此函数简单的调用kernel ...

  9. 【HDOJ】2103 Family planning

    题目挺有意思.虽然不是很难. #include <stdio.h> int main() { unsigned int m, n, case_n; unsigned ; scanf(&qu ...

  10. Codevs_1403_新三国争霸_(Kruskal+动态规划)

    描述 http://codevs.cn/problem/1403/ 共t天,n个点,m条边,选择每条边要付出不同的代价,其中某些天某些边不能用,要保证每一天n个点都是连通的,如果换方案要付出额外的代价 ...