绘制按钮内文字的下划线?

fengogo 2008-08-26 10:07:08
我想在mousemove的时候给按钮的标题加上下划线. 标题是居中显示的, 问题是有什么简便的方法可以得到文字左下方的坐标. 得到该坐标后我就可以line to画一条线了.
...全文
270 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SkinBeauty 2008-08-27
  • 打赏
  • 举报
回复
支持1楼的方法
m_tornado 2008-08-26
  • 打赏
  • 举报
回复
自绘,自Font
liumeiqinyang 2008-08-26
  • 打赏
  • 举报
回复
有对underline的支持。ls的意思是自定义字体?
healer_kx 2008-08-26
  • 打赏
  • 举报
回复
CFont里面有对underline的支持吧?
kingpang 2008-08-26
  • 打赏
  • 举报
回复
继承CButton类
然后在CNewBtn里面扩展mousemove时,Title Text用个line to吧
chinalongship 2008-08-26
  • 打赏
  • 举报
回复
?
fengogo 2008-08-26
  • 打赏
  • 举报
回复
发贴一天后才可以加分.倒.. 问题补充: 是 VS 2003以上版本的新建项目的向导.
fengogo 2008-08-26
  • 打赏
  • 举报
回复
字体的underline似乎不可以定义颜色和大小? 我用( 按钮的高度 - 字符高度)/2 + 字符高度+ 往下偏移一个向素, 成功得到y 坐标.
同理, X坐标 我通过: ( 按钮的宽度 - 标题字符串的宽度)/2 得到, 照理由应该是标题第一个字符的起始x坐标的, 但是有些错误.应该是我计算
字符串的宽度时方法有误? 我是这样计算的: 字符的宽度*字符个数. GetTextMetrics得到的tmAveCharWidth = 5 , 而tmMaxCharWidth = 26 ,
我的是中文字符,一个值太小,一个又太大,奇怪!!

加分了. 再问一个问题:
大家都看过VC新建MFC项目工程时的向导. 左边的按钮在鼠标移到时产生下划线, 选中状态的按钮有个阴影. 我现在做的就是模仿这个向导的. 鼠标移进移出按钮下划线出现与消失我已经做好了.

现在我的问题是在主对话框点击下一步时,如何使左边的按钮也相应的变化?! 我有试过用m_btn1.SendMessage(WM_LBUTTONDOWN,NULL,NULL),可以设置选中状态, 但是有个不好处就是连下划线也画出来了. 我尝试继续发送MouseLeave,但是下划线却并不消失. 怎么办??
还有就是, DrawItem 都是什么时候被调用的,为什么我在主对话框晃动鼠标(并没碰到按钮),按钮却会闪烁?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧