Windoows窗口程序七

WM_QUIT--用于结束消息循环处理
    wParam - PostQuitMessage函数传递的参数
    lParam - 不使用
    当GetMessage收到这个消息后,会返回false,结束while处理,退出消息循环。
    WM_QUIT不会进入消息处理函数,因为这是由PostQuitMessage函数向窗口发送的消息,GetMessage直接返回了。

WM_PAINT--绘图消息
键盘消息
鼠标消息
定时器消息
GetMessage--从系统获取消息,将消息从系统中移除,阻塞函数。当系统无消息时,GetMessage会等候下一条消息。
PeekMessage--以查看的方式从系统获取消息,可以不将消息从系统中移除,非阻塞函数。当系统无消息时,返回false,继续执行后续代码。
BOOL WINAPI PeekMessage(
  _Out_    LPMSG lpMsg,
  _In_opt_ HWND  hWnd,
  _In_     UINT  wMsgFilterMin,
  _In_     UINT  wMsgFilterMax,
  _In_     UINT  wRemoveMsg//移除标识
);
SendMessage--发送消息,会等候消息处理的结果。
PostMessage--投递消息,消息发出后立刻返回,不等候消息执行结果。
LRESULT SendMessage(
  _In_ HWND   hWnd,//消息发送的目的窗口
  _In_ UINT   Msg,//消息ID
  _In_ WPARAM wParam,//消息参数
  _In_ LPARAM lParam//消息参数
);
BOOL PostMessage(
  _In_opt_ HWND   hWnd,
  _In_     UINT   Msg,
  _In_     WPARAM wParam,
  _In_     LPARAM lParam
);
时间: 2024-08-04 13:45:06

Windoows窗口程序七的相关文章

Windoows窗口程序五

程序执行机制 过程驱动-程序的执行过程是按照预订好的顺序执行. 事件驱动-程序的执行是无序,用户可以根据需要随机触发相应的事件. Win32窗口程序就是采用事件驱动方式执行,也就是消息机制. 当系统通知窗口工作时,就采用消息的方式派发给窗口. 消息组成: 窗口句柄 消息ID 消息的两个参数 消息产生的时间 消息产生时的鼠标位置 //消息结构体 typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam

Windoows窗口程序一

编写窗口程序的步骤: 1.定义WinMain入口函数 2.定义窗口处理函数(处理消息)WindowProc 3.注册窗口类RegisterClass 4.创建窗口(在内存中创建窗口)CreateWindow 5.显示窗口(根据内存的数据将窗口绘制出来)ShowWindow/UpdateWindow 6.消息循环(提取.翻译.派发消息)GetMessage,TranslateMessage,DisptachMessage 7.消息处理

Windoows窗口程序二

WNDCLASS属性style取值: CS_GLOBALCLASS--应用程序全局窗口类 CS_BYTEALIGNCLIENT--窗口客户区的水平位置8倍数对齐 CS_BYTEALIGNWINDOW--窗口的水平位置8倍数对齐 CS_HREDRAW--当窗口水平变化时,窗口重新绘制 CS_VREDRAW--当窗口垂直变化时,窗口重新绘制 CS_CLASSDC--该类型的窗口,都是有同一个绘图(DC)设备 CS_PARENTDC--该类型的窗口,使用他的父窗口的绘图(DC)设备 CS_OWNDC-

Windoows窗口程序三

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> HINSTANCE g_hInstance=0; //主窗口处理函数 LRESULT WndProc(HWND hWnd,UINT nMsg,WPARAM wParam,LPARAM lParam) { switch(nMsg) { case WM_DESTROY: PostQuitMessage(0

创建简单的窗口程序

#include <windows.h> /*窗口函数的函数原型*/ LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {     char szClassName[] = "MainWClass";     WND

Cocos2dx集成于windows桌面窗口程序的步骤

2D游戏需要做编辑器,而编辑器总是希望可以复用游戏中的逻辑来运行场景试看效果. 对于cocos2dx开发的程序,这个需求可以描述为: 实现一种方法,在桌面窗口程序中的某个控件上显示cocos2dx的场景,而其他部分保持该操作系统原生ui的功能. 这里以windows桌面程序为例,描述如何实现这一点,cocos2dx版本为2.2.5 代码用qt实现,但是没有用到太多qt的东西,windows api通用. 1 创建工程.这里我们依然使用cocos2dx提供的工程生成器创建工程,以得到完美的coco

32位汇编第二讲,编写窗口程序,加载资源,响应消息,以及调用C库函数

32位汇编第二讲,编写窗口程序,加载资源,响应消息,以及调用C库函数 (如果想看所有代码,请下载课堂资料,里面有所有代码,这里会讲解怎么生成一个窗口程序) 一丶32位汇编编写Windows窗口程序 首先我们知道32位汇编是可以调用Windows API的,那么今天我们就调用windowsAPI来写一个窗口程序 如果你有windows开发知识,那么就很理解了,如果没有,那么跟着我写,跟着步骤去写,那么也可以写出来 首先我们要编写一个窗口程序(使用SDKAPI编写)有几个步骤 1.设计窗口类 2.注

win32窗口程序的过程

复习一下win32窗口程序 设计一个窗口类: 注册窗口类: 创建窗口: 显示及更新窗口. 消息循环,去获取消息: 窗口过程函数的消息响应. 设计窗口类: typedef struct _WNDCLASS { UINT style; //窗口类的类型 WNDPROC lpfnWndProc; //窗口过程函数(回调函数) int cbClsExtra; //为该类设定额外内存空间 int cbWndExtra; //为该窗口设定额外内存空间 HANDLE hInstance; //当前应用程序的实

Windows核心编程03-编写窗口程序的步骤

编写窗口程序的步骤: 1 定义WinMain函数 2 定义窗口处理函数(处理消息) 3 注册窗口类 4 创建窗口(在内存中创建窗口) 5显示窗口(根据内存的数据将窗口绘制出来) 6消息循环(提取/翻译/派发)消息 7消息处理 #include "windows.h" LRESULT WndProc(HWND hWnd,UINT nMsg,WPARAM wParam,LPARAM lParam) { return DefWindowProc(hWnd,nMsg,wParam,lParam