第11章 GUI Page452 步骤十八:实现“隐藏”图元功能,首先实现隐藏直线,再实现隐藏其他图元

首先需要强调一下:菜单项“隐藏”的类型是Check, 否则,就会出各种错误

item_i.hpp中,接口类IItem中需要增加两个接口,

直线类中,增加一个私有成员_visible, 并在构造时初始化它,即构造时,是可视化的

然后实现两个接口方法:

然后,修改画直线的方法,根据是否可见,然后决定是否画直线

为菜单项“隐藏”绑定响应函数,并实现它

构造的图元的方法中,添加注释,只保留创建直线的宏,因为其他图元类中的接口方法还没有实现,是抽象类,不能够创建对象

测试效果:

隐藏其他图元,也用类似的方法:

1. 图元类添加一个私有成员:bool _visible, 并在构造时初始化

2. 实现两个接口方法

3. 修改图元类的Draw()方法,当图元的IsVisible() 返回真时,才调用它的Draw()方法

注意:

画一条直线之后,将直线设置为隐藏,是将这个直线对象的_visible属性设置为false,这个并不是直线类的_visible成员,所以这个并不会影响,画十字形时,十字对象中的LineItem成员的_visible属性

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值