Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13738
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 34
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-07 23:35
个人简介

有耐心

文章分类
文章存档

2013年(2)

我的朋友

分类: WINDOWS

2013-05-08 21:56:37

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

WndProc是窗口过程的名称,可以自由定义,不过为了便于理解可以按照默认定义,这四个参数与消息的前四个域是相同的

hwnd:标识哪个窗口句柄需要调用窗口过程

message:标识hwnd窗口要处理的消息

wParam:一个32位的消息参数,其含义和数值根据消息的不同而不同
lParam:一个32位的消息参数,其值与消息有关

注意:程序通常不直接调用窗口过程,一般有windows本身调用,通过SendMessage函数可以让程序直接调用窗口过程

 

//注解:

GetMessage(&msg,NULL,0,0);//从消息队列获取消息,第二三四个参数表示获取的消息种类,设置为NULL或者0表示接收任何消息

TranslateMessage(&msg);//将消息传给Windows,进行一些键盘转换

DispatchMessage(&msg);//将消息传回给Windows,Windows将该消息发给适当的窗口过程,调用窗口过程进行处理

消息的定义:

#ifndef NOMSG


typedef struct tagMSG {
    HWND        hwnd;//消息发向的窗口的句柄
    UINT        message;//消息标识符,每一条消息都会有一个对应的标识符
    WPARAM      wParam;//一个32位的消息参数,其含义和数值根据消息的不同而不同
    LPARAM      lParam;//一个32位的消息参数,其值与消息有关
    DWORD       time;//消息放入队列的时间
    POINT       pt;//消息放入队列时的鼠标坐标
#ifdef _MAC
    DWORD       lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

 

来源:《windows程序设计》

阅读(2468) | 评论(2) | 转发(0) |
0

上一篇:Windows 消息循环

下一篇:没有了

给主人留下些什么吧!~~

Tiscreak2013-05-09 13:08:22

校长的马夹:不错呦,继续努力吧

hehe

回复 | 举报

校长的马夹2013-05-09 09:28:23

不错呦,继续努力吧