About Windows 读书笔记

1. 使用SystemParametersInfo可以设置桌面背景位图。

2. Window Style可以经由SetWindowLong设置。

3. AdjustWindowsRect/Ex可用于在CreateWindow之前根据客户区的大小计算窗口的大小,并将之作为CreateWindow的参数。

4. 如果一个窗口具有WS_CLIPSIBLINGS 和WS_CLIPCHILDREN,那么该窗口收到WS_PAINT消息时,将从其客户区中裁减掉兄弟/子的窗口重叠区域。默认的window都具有这两个属性。

5. 三类窗口desktop,top-level window,child window,系统根据此形成一棵树并管理所有窗口。Overlapped,Popup,Child。前两者都是TopLevel的,而后者作为子窗口使用。Popup Window是一种特殊的Overlapped窗口。dlg是必须是Popup的,Control必须是Child,而其他窗口可以自定义。

6.额外话题:Windows Common Controls中:edit controls, combo boxes, list boxes, buttons, scroll bars, and static controls 不会向父窗口发送WM_NOTIFY消息,但是会发送WM_COMMAND通知消息。在MFC中对应的父窗口接收到Command消息,并可能通过消息反射转发给Common Control.

6. 模式对话框弹出时,在其消息泵里仍然会处理一些其父窗口的消息,例如OnDraw消息。所以如果在这些消息处理函数中调用AfxMessageBox便会弹出多个模式对话框。

7. input messages会发送给子窗口,但是子窗口Disable时则发送给父窗口。

8. Control可以有唯一ID,但是两个控件ID相同并不会有问题。控件给父窗口发送WM_COMMAND Notify消息时,回传自己的ID。对于非Common Control,可以通过CreateWindowEx的hMenu参数设置ID。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值