本文例子是一个典型的 对话框程序,设置了 扩展式样,因此在标题栏左上角看不到系统菜单图
标,但通过 或者在标题栏单击鼠标右键可以调出系统菜单。
例子程序对系统菜单进行了定制,在原有菜单基础上添加了两个菜单命令:一个是显示“关于”对话框;另一个是“退出”。之所以要加一个
“退出”菜单命令,是因为例子程序改写了对话框原来默认的“关闭”菜单命令行为(),用来隐藏对话框。因此必须加一个程序的
“退出”出口。此外,例子程序利用一个第三方的系统托盘处理类,利用系统托盘图标可以显示隐藏对话框。下面我们就来看看用
实现的细节。
添加菜单
首先在资源定义文件 中定义菜单项标示,也可以在标准头文件中定义。菜单项标示必须具有唯一性。其次,!"#$对
系统菜单的处理与常规菜单的处理方法是不同的,不管是缺省的菜单还是定制的菜单,它们都没有象常规菜单命令那样的消息处理例程。
假设我们要添加两个定制的系统单:
%#&"'()*
%#&")+
的意思是该定义为菜单项 。添加菜单命令是在对话框的初始化例程以及窗口创建函数(""!!,-./"-.)中进行
的。如: ''0",11""!!,-.
2
!,11""!!,-.3
在系统菜单中添加 4关于4和 4退出4菜单项
解决 !"#$56中的 0,
7--'('89:9.;;'('.3
命令 必须在预定义的系统菜单之后
7-'('<9:999.3
解决 !"#$56中的 0,
7--89:9.;;.3
命令 必须在预定义的系统菜单之后
7-<9:999.3
"=>";?>@"-.3
!A->"B;(.
2
>"C"#"-7?//4退出-8:.4.3
>"C"#"-D77.3
>"C"#"-7?/'('/4关于-8.4.3
评论4