VC++ win32 application里如何建一个子窗口

VC++ win32 application里如何建一个子窗口,第1张

从WINDOWS系统的窗口机制上来说需要至少三步:

1、注册窗口类

2、利用CreateWindow/CreateWindowEx() API 创建窗口

3、实现窗口类中的定义的消息事件的回调函数。

如果是创建已经注册好的窗口(比如系统提供的一些窗口类型,编辑框、树形列表等)无须注册窗口类,直接通过CreateWindowEx() 进行创建,也无须处理窗口的事件消息。 如果需要自己处理这些消息,那么就是所谓的子类化或超类化的技术概念了。

如果是实现对话框,则比较简单。 对话框是一个特殊的窗口类型,需要现在资源中定义一个对话框模板,然后通过DialogBoxParam/DialogBoxIndirectParam()等API直接创建就可以了。

从实现上来说:

1、SDK 编程, 那么需要按需求手动编码,依据需要处理这几个步骤

2、基于ATL框架, 直接创建一个基于CWindowImpl<>模板类,继承实现一个类实例来处理消息链。 然后在需要的地方直接创建一个类实例,调用类实例的Create() 方法就成。

3、基于MFC框架,直接创建一个基于CWnd/CDialog类,继承实现类实例,来处理消息链。原理同ATL类似,无非是实现方式不大一样。

基于ATL/MFC框架都可以通过VS的向导进行创建,原理是一样的,无非就是省却大部分手动敲码的过程。

1、首先在打开窗体表的界面中在创建选项卡中单击窗体设计选项

2、然后在设计选项中点击其他按钮

3、之后在设计选项按钮中单击子窗体/子报表按钮

4、随后在窗体表中绘制一个子窗体的方框

5、打开子窗体向导对话框中选择子窗体的类型单击下一步按钮

6、然后选择创建子窗体的数据源与可用字段后单击下一步按钮

7、随后输入子窗体的名称后单击下一步按钮

8、此时创建的子窗体已经好了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11954230.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存