qq_26070741
qq_26070741
采纳率18.2%
2015-07-04 11:13

请教一个MFC设置文本颜色的问题

CWnd* wnd = FindWindow(NULL, L"无标题 - 记事本");
wnd->GetDC()->SetTextColor(RGB(255, 0, 0));//文本颜色设置为红色
while (1)
{
    wnd->GetDC()->TextOutW(0, 0, L"123456", 6);

    Sleep(200);
}
SetTextColor根本不起作用呀,请问是为什么呀?用API不用MFC的类就可以
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 6年前

    SetTextColor对文本框等控件有效,对于你的自绘无效。不知道你打算做什么。

    点赞 3 评论 复制链接分享
  • infoworld infoworld 6年前

    你要在WM_PAINT消息里用CPaintDC 设置SetTextColor才会一直生效.客户端的DC只要被刷新就会没了. 一般这个DC只是为了计算用,绘制很少用.

    点赞 1 评论 复制链接分享
  • vivikey En•Nam 6年前

    首先你用一个死循环不停的在同一坐标输出同一串文本,不知道你到底想干嘛。
    CWnd* wnd = FindWindow(NULL, L"无标题 - 记事本");

    这个 无标题 - 记事本 是你自己写的窗体吗还是你想要通过代码来控制系统自带的记事本程序?
    如果是你自己写的窗体,建议你在 OnDraw中写一次代码,死循环不要乱用。

    点赞 评论 复制链接分享
  • frank_20080215 frank_20080215 6年前

    记事本Notepad对字体的设置是很弱的。请采纳caozhy的建议

    点赞 评论 复制链接分享
  • oyljerry oyljerry 6年前

    需要在OnPaint或者OnDraw中进行颜色控制等,这样才会防止界面重绘刷新。

    点赞 评论 复制链接分享

相关推荐