头文件中增加私有成员函数:
在源文件中实现它:
逻辑是:如果当前没有选中项,则“隐藏”菜单项设置为不可用状态,即代码中的event.Enable(false) , 同时确保它不处于选中状态;否则检查该图元是否隐藏,将状态同步到菜单项,同时确保它处于可用状态。
手动在事件表中加上绑定关系:
运行效果:
再次隐藏 矩形3 时,可以看到"隐藏"菜单项,依然处于未选中状态
接下来处理所有改变图元次序的菜单项状态维护,它们没有选中状态,只有是否可用的状态。我们将一次绑定所有的四个菜单项,所以请在源文件中查找生成ID_POPMENU_TOP和ID_POPMENU_BOTTOM等ID的四行代码,确保它们相邻。
事件函数声明:
实现为:
在事件表手动添加绑定代码:
运行效果:可以看到,选中最上层图元时,置顶和上浮菜单项是灰色(不可用)状态
当选中最下层图元时,下降和置底处于灰色状态
“删除”菜单项状态状态维护:
实现为:
手动事件绑定:
运行效果;
没有选中任何图元,所以删除菜单处于灰色状态