关闭

Win32 SDK基础(13)—— 键盘和鼠标消息

一、键盘消息 1、键盘消息 WM_KEYDOWN —— 键盘按键按下时产生。 WM_KEYUP —— 键盘按键弹起时产生。 WM_SYSKEYDOWN —— 系统按键按下时产生,如ALT、F10等等 WM_SYSKEUP —— 系统放开时产生 WM_CHAR —— 字符消息 2、消息参数: 按键消息: WPARAM —— 按键的VirtualKey(虚拟键码) LPARAM —...
阅读(605) 评论(0)

Win32 SDK基础(12)—— WM_PAINT消息的处理

一、引言         在计算机中,屏幕上显示的一切东西几乎都是绘制的,包括窗口、对话框、图片、以及一切文字,而WM_PAINT消息就是在绘制这些对象时,系统触发的消息。我们在计算机中的每一个操作,几乎都会触发这个消息,它也是WIndows中最重要的消息之一。本文主要针对该消息进行试验,以进行全面的学习。 二、WM_PAINT基础  2.1 宏定义 #define WM_PAIN...
阅读(963) 评论(0)

Win32 SDK基础(11)—— 消息队列和GetMessage/PeekMessage、SendMessage/Postmesage

一、消息队列 1.1 消息队列         消息队列是用来存放消息的一个队列,消息在队列中先入先出,所有的窗口程序都具有消息队列,程序可以从队列中获取消息。 1.2 消息队列的类型         系统消息队列:由操作系统维护的消息队列,存放系统产生的消息,如鼠标、键盘消息等等。         程序消息队列:属于每一个应用程序(线程)的消息队列,用应用程序维护。...
阅读(631) 评论(0)

Win32 SDK基础(10)—— 几种常见的Windows消息处理

一 引言         本文主要介绍几种Windows常见的消息的处理,在《Win32 SDK基础(8)—— Windows消息机制》中,我们介绍了WM_CREATE消息的处理,在窗口创建之前,我们利用消息处理函数弹出了一个MessageBox,本文在此基础之上,介绍WM_DESTROY、WM_SYSCOMMAND、WM_QUIT、WM_SIZE等其它常见的Windows消息。首先,我们引入在...
阅读(788) 评论(0)

Win32 SDK基础(9)—— Windows 常用消息大全

一、Windows消息分布 消息范围 说 明 0 ~ WM_USER – 1 系统消息 WM_USER ~ 0x7FFF 自定义窗口类整数消息 WM_APP ~ 0xBFFF 应用程序自定义消息 0xC000 ~...
阅读(563) 评论(0)

Win32 SDK基础(8)—— Windows消息机制

一、 什么是消息         在解释什么是消息之前,我们先讨论一下程序的执行机制问题。大体上说,程序按照执行机制可以分为两类: 第一类是过程驱动。比如我们最早接触编程时写的C程序,又或者单片机程序。这类程序往往预先已经设定好了执行流程,我们执行时只是按部就班的执行; 第二类是事件驱动。事件,相信大家都能够理解。每个事件的发生都是随机的,每个事件都会有发生的时刻,类似生活中的事件。程序中的...
阅读(382) 评论(0)

Win32 SDK基础(7)—— 怎样创建一个窗口的子窗口

什么是子窗口?当我们在点击Windows窗口的某个按钮时,比如点击窗口的关闭按钮,往往会弹出一个窗口来提示相关信息,类似这种弹出窗口就是主窗口的子窗口。我们创建子窗口时,也是使用CreateWindow或者CreateWindowEx API。         我们来看下CreateWindow的函数原型: HWND WINAPI CreateWindow( _In_opt_ LPCTSTR ...
阅读(2324) 评论(0)

Win32 SDK基础(6)—— 窗口类的查找过程和相关API

一、窗口类的查找过程     上一文中,我们介绍了windows系统三种窗口类——系统窗口类、全局窗口类和局部窗口类。每种窗口类在操作系统中的作用域不同,而且每个作用域内注册的窗口类名称是不能重复的。而创建窗口时往往会在系统、全局、局部范围按照窗口类名称进行寻找,寻找过程总结如下: (1)操作系统根据传入的窗口类名称,现在局部窗口类中进行查找,如果找到执行第2步,如果未找到执行第3步。 (2...
阅读(502) 评论(0)

Win32 SDK基础(5)—— 漫谈窗口类

一、引言         在上一文中,我们从零开始创建了一个窗口。其中很重要的一个步骤,就是注册窗口类,如下面的代码: //注册窗口类 BOOL Register(LPSTR lpClassName, WNDPROC wndProc) { WNDCLASSEX wce = { 0 }; wce.cbSize = sizeof(wce); wce.cbClsExtra =...
阅读(524) 评论(0)

Win32 SDK基础(4)—— 从零开始创建windows窗口(二)

3.5 显示窗口。         创建了窗口之后,如果要想运行时能够看见窗口,我们还需要显式的设置显示窗口: ShowWindow(hWnd, SW_SHOW); UpdateWindow(hWnd);        ShowWindow和UpdateWindow都是系统的API,前者是设置窗口的显示属性。后者重新更新窗口属性,只有更新之后,属性才会生效。经过了上述步骤,我们的WinMain...
阅读(779) 评论(0)

Win32 SDK基础(3)—— 从零开始创建windows窗口(一)

一、从Windows的程序分类说起。     从高中第一次接触电脑开始(惭愧,高中才会用电脑,大学一年级才知道有QQ这么个东西,家里穷,没办法),在我的概念中电脑应该就是windows这样的。所以,直到大学临毕业,才知道原来还有linux这种操作系统,然后毕业之后开始工作才明白苹果公司也有一套自己的操作系统。所以,至今也想不明白,我怎么就踏上了码农这条不归路。然后一踏上就一发不可收拾,直到某天被...
阅读(2568) 评论(0)

Win32 SDK基础(2)—— 自己动手用cl.exe和link.exe编译和连接程序

一 从程序的编译过程说起     上一文我们介绍了windows系统下面程序的分类、编译器、连接器、常用头文件、库文件等知识。本文再谈一下程序的编译过程。 相信大家都知道源代码的编译过程共分为两个步骤:一是编译过程,主要工作是把我们的源代码翻译成中间文件,这在windows中就是cl.exe的作用,它将我们的.c文件或者.cpp文件翻译成中间.obj文件;二是连接过程,主要工作是将多种中间文件...
阅读(1130) 评论(3)

Win32 SDK基础(1)—— Windows程序分类以及库、头文件所在目录

一、windows程序分类 1、控制台程序 windows的Dos程序,没有自己的窗口,需要借助Dos窗口进行用户交互,主函数: int main() { return 0; } 2、windows窗口程序 可见的windows系统下的程序基本都属于这种,列入word、excel等等,主函数: int APIENTRY wWinMain(_In_ HINSTANCE...
阅读(845) 评论(1)
    个人资料
    • 访问:368821次
    • 积分:6476
    • 等级:
    • 排名:第3932名
    • 原创:292篇
    • 转载:17篇
    • 译文:1篇
    • 评论:60条
    其它平台
    博客专栏