MDI支援MDI 的范例

MDI示例程序通过定义MDIDEMO.RC资源描述文件来管理三个菜单模板,分别是MdiMenuInit、MdiMenuHello和MdiMenuRect。MdiMenuInit在无文件时显示,仅支持新文件创建和退出程序。MdiMenuHello和MdiMenuRect与特定文件窗口关联,分别提供文件操作和颜色设置选项,以及窗口排列功能。RESOURCE.H表头文件定义了菜单标识符...
MDI支援MDI 的范例
MDI示例程序通过定义MDIDEMO.RC资源描述文件来管理三个菜单模板,分别是MdiMenuInit、MdiMenuHello和MdiMenuRect。MdiMenuInit在无文件时显示,仅支持新文件创建和退出程序。MdiMenuHello和MdiMenuRect与特定文件窗口关联,分别提供文件操作和颜色设置选项,以及窗口排列功能。
RESOURCE.H表头文件定义了菜单标识符,如INIT_MENU_POS、HELLO_MENU_POS和RECT_MENU_POS,它们指示Windows子菜单在菜单模板中的位置。程序根据这些标识符来组织文件窗口列表。MdiMenuInit没有Windows子菜单,文件列表通常附加在第一个子菜单上,但实际操作中会稍作处理。
MDIDEMO.C中定义的IDM_FIRSTCHILD标识符与文件列表的第一个文件窗口关联,用于指示菜单项的顺序。程序初始化时,WinMain会注册框架窗口和两个子窗口,分别关联不同的窗口类别,如标准IDI_APPLICATION图标。窗口消息处理通过FrameWndProc、HelloWndProc和RectWndProc分别处理不同窗口的事件,如菜单选择和窗口操作。
在WinMain中,三个菜单被LoadMenu加载,并处理子菜单的Windows子菜单(用于文件列表)。CreateWindow函数创建框架窗口,同时传递菜单信息。创建客户窗口时,会再次调用CreateWindow,将菜单信息包含在内。窗口类别的lpszMenuName字段通常设置为NULL,框架窗口类别除外,它会在创建时指定菜单句柄。
在Hello和Rect子窗口类别中,额外的内存空间用于存储每个窗口特有的信息。MDIDEMO的运行流程涉及菜单操作、窗口创建、消息传递和菜单项处理,如文件列表在不同菜单间切换以及处理窗口关闭请求。最后,在WinMain的尾部,通过DestroyMenu清除与MdiMenuHello和MdiMenuRect相关的菜单,以保持资源管理的完整性。
扩展资料多重文件接口(MDI)是Microsoft Windows文件处理应用程序的一种规范,该规范描述了窗口结构和允许使用者在单个应用程序中使用多个文件的使用者接口(如文书处理程序中的文字文件和电子表格程序中的电子表格)。简单地说,就像Windows在一个屏幕上维护多个应用程序窗口一样,MDI应用程序在一个显示区域内维护多个文件窗口。Windows中的第一个MDI应用程序是Windows下的Microsoft Excel的第一个版本。紧接着又出现了许多其它的应用程序。
2024-07-28
cdw 阅读 15 次 更新于 2025-08-04 13:57:55 我来答关注问题0
词典网在线解答立即免费咨询

范例范文相关话题

Copyright © 2023 cidian.nuo5.com - 词典网 打一生肖 英语单词  夜唱网
返回顶部