mfc textout内容最顶层显示

xiao_dong_dong 2014-10-21 10:43:57
大神们,我有一个需求是这样的:
在对话框上画了一个按钮
然后在按钮上显示一些我需要的文字来取代按钮的SetWindowText的标题
我先画了button,然后在button的位置用TextOut(100,100,str);
但事实,确实button按钮盖住了textout的字符串
有没有什么办法,让textout的字符串在最顶层显示呢,即,在button按钮上可以看见我需要的字符串
谢谢大家了
...全文
312 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao_dong_dong 2014-10-21
  • 打赏
  • 举报
回复
引用 1 楼 mlqxj35674 的回复:
应该button的OnPaint中使用TextOut或DrawText
是onpaint里面textout,被button挡住了,烦人滴很
xiao_dong_dong 2014-10-21
  • 打赏
  • 举报
回复
引用 楼主 xiao_dong_dong 的回复:
大神们,我有一个需求是这样的: 在对话框上画了一个按钮 然后在按钮上显示一些我需要的文字来取代按钮的SetWindowText的标题 我先画了button,然后在button的位置用TextOut(100,100,str); 但事实,确实button按钮盖住了textout的字符串 有没有什么办法,让textout的字符串在最顶层显示呢,即,在button按钮上可以看见我需要的字符串 谢谢大家了
是onpaint里面textout,被button挡住了,烦人滴很
schlafenhamster 2014-10-21
  • 打赏
  • 举报
回复
"画了一个按钮"是 wndless 的 ?
mlqxj35674 2014-10-21
  • 打赏
  • 举报
回复
应该button的OnPaint中使用TextOut或DrawText
schlafenhamster 2014-10-21
  • 打赏
  • 举报
回复
CButtonST 里响应MouseMove 加 Invalidtae试试
xiao_dong_dong 2014-10-21
  • 打赏
  • 举报
回复
引用 10 楼 schlafenhamster 的回复:
如果“自己画按钮” 只要CStatic 就可以了 CButtonST 可能 有 MouseHover , 会 画 另外的图。
这部分函数是在OnPaint里写的 但是刷新界面后,输出的文本就不再显示了
xiao_dong_dong 2014-10-21
  • 打赏
  • 举报
回复
引用 10 楼 schlafenhamster 的回复:
如果“自己画按钮” 只要CStatic 就可以了 CButtonST 可能 有 MouseHover , 会 画 另外的图。
是用的CButtonST类,想在按钮上自定义显示多行文本,不知道您有没有办法解决呢?拜托了
schlafenhamster 2014-10-21
  • 打赏
  • 举报
回复
如果“自己画按钮” 只要CStatic 就可以了 CButtonST 可能 有 MouseHover , 会 画 另外的图。
xiao_dong_dong 2014-10-21
  • 打赏
  • 举报
回复
引用 8 楼 xiao_dong_dong 的回复:
[quote=引用 7 楼 schlafenhamster 的回复:] CButtonST m_button; CRect Rect(300,50,500,200); m_button.Create(_T(""), WS_CHILD|WS_VISIBLE, Rect, this, IDC_BTN); CDC *pDC = GetDC();// 这个DC非 按钮 的DC 。 pDC=m_button.GetDC(); str = _T("自定义的字符串") pDC->TextOut(300,100,str);
您好 试过了,是正确的,太谢谢了[/quote] 但是为什么鼠标移动到按钮位置后,字体又被按钮覆盖了,看不到字体了呢。。。
xiao_dong_dong 2014-10-21
  • 打赏
  • 举报
回复
引用 7 楼 schlafenhamster 的回复:
CButtonST m_button; CRect Rect(300,50,500,200); m_button.Create(_T(""), WS_CHILD|WS_VISIBLE, Rect, this, IDC_BTN); CDC *pDC = GetDC();// 这个DC非 按钮 的DC 。 pDC=m_button.GetDC(); str = _T("自定义的字符串") pDC->TextOut(300,100,str);
您好 试过了,是正确的,太谢谢了
schlafenhamster 2014-10-21
  • 打赏
  • 举报
回复
CButtonST m_button; CRect Rect(300,50,500,200); m_button.Create(_T(""), WS_CHILD|WS_VISIBLE, Rect, this, IDC_BTN); CDC *pDC = GetDC();// 这个DC非 按钮 的DC 。 pDC=m_button.GetDC(); str = _T("自定义的字符串") pDC->TextOut(300,100,str);
xiao_dong_dong 2014-10-21
  • 打赏
  • 举报
回复
引用 5 楼 schlafenhamster 的回复:
说不清,上代码。
CButtonST m_button; CRect Rect(300,50,500,200); m_button.Create(_T(""), WS_CHILD|WS_VISIBLE, Rect, this, IDC_BTN); CDC *pDC = GetDC(); str = _T("自定义的字符串") pDC->TextOut(300,100,str); 显示的界面效果是,输出的字符串在下面,button在上面,把字符串挡住了
schlafenhamster 2014-10-21
  • 打赏
  • 举报
回复
说不清,上代码。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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