MFC中如何设置Dialog(对话框)标题栏中文字的颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中如何设置Dialog(对话框)标题栏中文字的颜色相关的知识,希望对你有一定的参考价值。

标题栏文字颜色肯定是不能设置的,而且标题栏都样式都不能用代码改变,标题栏是系统设定的同样的程序在xp,win7里运行的样式是不一样的,这个你没法控制。但是你可以不用对话框提供的标题栏,而在对话框的客户区“虚拟”一个标题栏。追问

那如果我要改变对话框标题字体颜色,如何在对话框的客户区“虚拟”一个标题栏?有参考代码吗?

追答

把对话框的border属性设为none就不会出现标题栏,你可以拖一个按钮(位图)放在右上角模仿标题栏的关闭按钮。还可给虚拟的标题栏背景使他更真实。把下面是绘制标题的代码需要放在OnPaint()里:
CDC* pDC=GetDC();
CFont font;
font.CreateFont(25,
0,
0,
0,
FW_BLACK,
TRUE,
TRUE,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS,
_T("隶体"));

pDC->SelectObject(&font);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0, 0, 0));
pDC->TextOut(10,10,"标题");
pDC->DeleteDC();

参考技术A 楼上正解 这个要 CDC绘图 + TextOut/DrawText来解决

如何修改MFC窗口标题

参考技术A 用类名::setwindowtext(
lpctstr
lpszstring);lpszstring为mfc程序窗口标题栏中的文字。本对话框用本类名::setwindowtext(窗口标题栏中的文字)即可。

以上是关于MFC中如何设置Dialog(对话框)标题栏中文字的颜色的主要内容,如果未能解决你的问题,请参考以下文章

MFC - 如何从菜单主机调用对话框

mfc怎么设置dialog大小

MFC是,如何更改对话框的名字?

MFC如何设置对话框静态文字背景以及文字颜色

mfc设置dialog对话框透明

查找 MFC Dialog 的当前位置