请教一个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的类就可以
mfc

5个回答

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

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

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

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问