首页 > 代码库 > delphi xe6 firemonkey关于canvas的bug
delphi xe6 firemonkey关于canvas的bug
最近在使用xe6开发MockPlus2.0桌面端,使用的firemonkey框架,组件里面的Canvas真是折腾人。
情景还原:
工作区拉伸组件时在上面需要绘制当前组件的大小参数,想要的效果是下图,在淡蓝色选择框上面有半透明黑色背景中显示的此时选择框的高宽
可是,事与愿违,在更改了组件文字style以后(此处是加了删除线、下划线),出现了以下奇怪问题:
显示组件高宽的文字居然也有了删除线和下划线,实现的关键代码就两句话:
Canvas.Fill.Color := $FFFFFFFF; Canvas.FillText(LabelRect, LabelStr, False, 1, [], TTextAlign.Center);
这个Canvas是属于上面淡蓝色选择框对象的,与下面的组件(Tooltip)毫无关系。
这也太奇怪了吧,然后试了试这样处理,在绘制之前先去掉这个Canvas的style,即:
Canvas.Font.Style := []; Canvas.Fill.Color := $FFFFFFFF; Canvas.FillText(LabelRect, LabelStr, False, 1, [], TTextAlign.Center);
这样做的结果就是,文字正常了,得到了想要的效果。
有点怀疑这个firemonkey里面的Canvas是全局共享的(如果不是则是xe6的一个bug)。
delphi xe6 firemonkey关于canvas的bug
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。