Windows VC++ 开发基础
文章平均质量分 74
主要从零开始介绍Windows Win32 SDK、MFC基础编程,包括窗口的创建、菜单工具栏的使用、绘图、多线程等知识。
HymanLiuTS
年过而立,又酸又臭,忙时敲代码,闲时读书写文章。
展开
-
Win32 SDK基础(13)—— 键盘和鼠标消息
一、键盘消息1、键盘消息WM_KEYDOWN —— 键盘按键按下时产生。WM_KEYUP —— 键盘按键弹起时产生。WM_SYSKEYDOWN —— 系统按键按下时产生,如ALT、F10等等WM_SYSKEUP —— 系统放开时产生WM_CHAR —— 字符消息2、消息参数:按键消息:WPARAM —— 按键的VirtualKey(虚拟键码)LPARAM —原创 2017-05-31 09:35:42 · 2843 阅读 · 2 评论 -
Win32 SDK基础(12)—— WM_PAINT消息的处理
一、引言 在计算机中,屏幕上显示的一切东西几乎都是绘制的,包括窗口、对话框、图片、以及一切文字,而WM_PAINT消息就是在绘制这些对象时,系统触发的消息。我们在计算机中的每一个操作,几乎都会触发这个消息,它也是WIndows中最重要的消息之一。本文主要针对该消息进行试验,以进行全面的学习。二、WM_PAINT基础 2.1 宏定义#define WM_PAIN原创 2017-04-13 14:46:45 · 11354 阅读 · 0 评论 -
Win32 SDK基础(11)—— 消息队列和GetMessage/PeekMessage、SendMessage/Postmesage
一、消息队列1.1 消息队列 消息队列是用来存放消息的一个队列,消息在队列中先入先出,所有的窗口程序都具有消息队列,程序可以从队列中获取消息。1.2 消息队列的类型 系统消息队列:由操作系统维护的消息队列,存放系统产生的消息,如鼠标、键盘消息等等。 程序消息队列:属于每一个应用程序(线程)的消息队列,用应用程序维护。原创 2017-04-12 17:35:04 · 4180 阅读 · 0 评论 -
Win32 SDK基础(10)—— 几种常见的Windows消息处理
一 引言 本文主要介绍几种Windows常见的消息的处理,在《Win32 SDK基础(8)—— Windows消息机制》中,我们介绍了WM_CREATE消息的处理,在窗口创建之前,我们利用消息处理函数弹出了一个MessageBox,本文在此基础之上,介绍WM_DESTROY、WM_SYSCOMMAND、WM_QUIT、WM_SIZE等其它常见的Windows消息。首先,我们引入在原创 2016-12-25 23:35:24 · 3666 阅读 · 0 评论 -
Win32 SDK基础(9)—— Windows 常用消息大全
一、Windows消息分布消息范围说 明0 ~ WM_USER – 1系统消息WM_USER ~ 0x7FFF自定义窗口类整数消息WM_APP ~ 0xBFFF应用程序自定义消息0xC000 ~原创 2016-12-18 19:09:44 · 1904 阅读 · 0 评论 -
Win32 SDK基础(8)—— Windows消息机制
一、 什么是消息 在解释什么是消息之前,我们先讨论一下程序的执行机制问题。大体上说,程序按照执行机制可以分为两类:第一类是过程驱动。比如我们最早接触编程时写的C程序,又或者单片机程序。这类程序往往预先已经设定好了执行流程,我们执行时只是按部就班的执行;第二类是事件驱动。事件,相信大家都能够理解。每个事件的发生都是随机的,每个事件都会有发生的时刻,类似生活中的事件。程序中的原创 2016-12-18 19:02:40 · 1722 阅读 · 2 评论 -
Win32 SDK基础(7)—— 怎样创建一个窗口的子窗口
什么是子窗口?当我们在点击Windows窗口的某个按钮时,比如点击窗口的关闭按钮,往往会弹出一个窗口来提示相关信息,类似这种弹出窗口就是主窗口的子窗口。我们创建子窗口时,也是使用CreateWindow或者CreateWindowEx API。 我们来看下CreateWindow的函数原型:HWND WINAPI CreateWindow(_In_opt_ LPCTSTR原创 2016-12-11 21:29:19 · 12992 阅读 · 3 评论 -
Win32 SDK基础(6)—— 窗口类的查找过程和相关API
一、窗口类的查找过程 上一文中,我们介绍了windows系统三种窗口类——系统窗口类、全局窗口类和局部窗口类。每种窗口类在操作系统中的作用域不同,而且每个作用域内注册的窗口类名称是不能重复的。而创建窗口时往往会在系统、全局、局部范围按照窗口类名称进行寻找,寻找过程总结如下:(1)操作系统根据传入的窗口类名称,现在局部窗口类中进行查找,如果找到执行第2步,如果未找到执行第3步。(2原创 2016-12-11 19:52:46 · 2552 阅读 · 0 评论 -
Win32 SDK基础(5)—— 漫谈窗口类
一、引言 在上一文中,我们从零开始创建了一个窗口。其中很重要的一个步骤,就是注册窗口类,如下面的代码://注册窗口类BOOL Register(LPSTR lpClassName, WNDPROC wndProc){ WNDCLASSEX wce = { 0 }; wce.cbSize = sizeof(wce); wce.cbClsExtra =原创 2016-12-04 18:00:46 · 2818 阅读 · 0 评论 -
Win32 SDK基础(4)—— 从零开始创建windows窗口(二)
3.5 显示窗口。 创建了窗口之后,如果要想运行时能够看见窗口,我们还需要显式的设置显示窗口:ShowWindow(hWnd, SW_SHOW);UpdateWindow(hWnd); ShowWindow和UpdateWindow都是系统的API,前者是设置窗口的显示属性。后者重新更新窗口属性,只有更新之后,属性才会生效。经过了上述步骤,我们的WinMain原创 2016-12-04 11:39:13 · 4152 阅读 · 0 评论 -
Win32 SDK基础(3)—— 从零开始创建windows窗口(一)
一、从Windows的程序分类说起。 从高中第一次接触电脑开始(惭愧,高中才会用电脑,大学一年级才知道有QQ这么个东西,家里穷,没办法),在我的概念中电脑应该就是windows这样的。所以,直到大学临毕业,才知道原来还有linux这种操作系统,然后毕业之后开始工作才明白苹果公司也有一套自己的操作系统。所以,至今也想不明白,我怎么就踏上了码农这条不归路。然后一踏上就一发不可收拾,直到某天被原创 2016-12-03 21:24:30 · 17408 阅读 · 2 评论 -
Win32 SDK基础(2)—— 自己动手用cl.exe和link.exe编译和连接程序
一 从程序的编译过程说起 上一文我们介绍了windows系统下面程序的分类、编译器、连接器、常用头文件、库文件等知识。本文再谈一下程序的编译过程。相信大家都知道源代码的编译过程共分为两个步骤:一是编译过程,主要工作是把我们的源代码翻译成中间文件,这在windows中就是cl.exe的作用,它将我们的.c文件或者.cpp文件翻译成中间.obj文件;二是连接过程,主要工作是将多种中间文件原创 2016-11-12 17:22:56 · 5335 阅读 · 5 评论 -
Win32 SDK基础(1)—— Windows程序分类以及库、头文件所在目录
一、windows程序分类1、控制台程序windows的Dos程序,没有自己的窗口,需要借助Dos窗口进行用户交互,主函数:int main(){ return 0;}2、windows窗口程序可见的windows系统下的程序基本都属于这种,列入word、excel等等,主函数:int APIENTRY wWinMain(_In_ HINSTANCE原创 2016-11-06 23:00:28 · 5115 阅读 · 3 评论