第11章 GUI Page453 步骤十九:自动维护弹出菜单项状态

本文讲述了如何在C++代码中通过头文件增加私有函数来控制UI菜单项的状态,包括启用/禁用、图元次序调整和删除操作。着重介绍了事件绑定和运行时效果的调整。
摘要由CSDN通过智能技术生成

头文件中增加私有成员函数:

在源文件中实现它:

逻辑是:如果当前没有选中项,则“隐藏”菜单项设置为不可用状态,即代码中的event.Enable(false)  ,  同时确保它不处于选中状态;否则检查该图元是否隐藏,将状态同步到菜单项,同时确保它处于可用状态。

手动在事件表中加上绑定关系:

运行效果:

再次隐藏  矩形3  时,可以看到"隐藏"菜单项,依然处于未选中状态 

接下来处理所有改变图元次序的菜单项状态维护,它们没有选中状态,只有是否可用的状态。我们将一次绑定所有的四个菜单项,所以请在源文件中查找生成ID_POPMENU_TOP和ID_POPMENU_BOTTOM等ID的四行代码,确保它们相邻。

事件函数声明:

实现为:

在事件表手动添加绑定代码:

运行效果:可以看到,选中最上层图元时,置顶和上浮菜单项是灰色(不可用)状态

当选中最下层图元时,下降和置底处于灰色状态

“删除”菜单项状态状态维护:

实现为:

手动事件绑定:

运行效果;

没有选中任何图元,所以删除菜单处于灰色状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值