Windows应用程序设计基础(一)句柄&消息

句柄:

  • 其实是一种复杂对象的标识,这些对象比如窗口有窗口句柄HWND等,就是一种标识符,标识对象或者项目,一般为整数。
  • 句柄是一种特殊的智能指针。当一个应用程序要引用其他系统(如数据库操作系统)所管理的内存块或对象时,就要使用句柄。

windows应用程序数据类型:RECT POINT等,皆为大写。


消息与消息队列

  • 程序启动并创建程序窗口之后 ,程序就进入等待状态,等待某种刺激,比如键盘鼠标输入等,这种刺激被定义为一种结构——消息。

  • typedef struct tagMSG 

    HWND hwnd ; //产生消息的窗口句柄
    UINT message ; //消息的标识码
    WPARAM wParam ; //消息的附加消息
    LPARAM lParam ; //消息的附加消息
    DWORD time ; //消息进入消息队列的时刻
    POINT pt ; //发送消息时光标的位置

    MSG;
  • 消息分为队列消息喝非队列消息,前者经过消息队列,后者不经过消息队列,系统事件产生的消息一般为非队列消息。
  • 队列消息:消息被放入消息队列中,应用程序使用GetMessage函数获取消息,
while(GetMessage (&msg, NULL, 0, 0))        
{        
    TranslateMessage (&msg) ;        //把键盘消息翻译成字符消息
    DispatchMessage (&msg) ;        //把消息发送给系统
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值