[MFC]Colors程序(2):层叠菜单、上下文菜单

本文详细介绍了MFC中如何实现层叠菜单和上下文菜单。层叠菜单通过在资源脚本中嵌套POPUP定义,Windows会自动处理箭头和展开效果。上下文菜单常见于右键操作,内容根据应用程序不同而变化。在MFC中,通过映射WM_CONTEXTMENU消息到OnContextMenu函数,结合TrackPopupMenu函数可以创建和显示上下文菜单,同时通过TPM_RETURNCMD标志可以追踪并处理选中的菜单项。
摘要由CSDN通过智能技术生成

1. 层叠菜单:

    1) 这在Windows中很常见,那就是打开一个菜单有时一个菜单,一层一层可以打开好多个;

    2) 定义层叠菜单很方便,只要在资源脚本中的POPUP中不停嵌入POPUP即可,里面的MENUITEM还是按照原来的方式定义,非常方便,其余的一些细致工作Windows都会替你代劳:

         i. 层叠子菜单名字旁边绘画一个箭头;

         ii. 光标停在层叠子菜单上时不用单击会自动显示下一层子菜单;

    3) 看一下Colors示例中如何定义层叠子菜单的:

IDR_MAINFRAME MENU PRELOAD DISCARDABLE 
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "E&xit",                       ID_APP_EXIT
    END
	
	POPUP "&Options"
	BEGIN
		POPUP "&Shape"
		BEGIN
			MENUITEM "&Circle\tF7",                 ID_SHAPE_CIRCLE
			MENUITEM "&Triangle\tF8",               ID_SHAPE_TRIANGLE
			MENUITEM "&Square\tF9",                 ID_SHAPE_SQUARE
		END
		POPUP "&Color"
		BEGIN
			MENUITEM "&Red",                        ID_COLOR_RED
			MENUITEM "&Yellow",                     ID_COLOR_YELLOW
			MENUITEM "&Green",                      ID_COLOR_GREEN
			MENUITEM "&Cyan",                       ID_COLOR_CYAN
			MENUITEM "&Blue",                       ID_COLOR_BLUE
		END
	END
END
!可以看到,非常简单,只需要简单的嵌套定义即可!


2. 上下文菜单:

    1) 就是右键能弹出的菜单,我们经常用这个来刷新桌面;

    2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值