gpt4 book ai didi

visual-c++ - 更改 mfc 应用程序的标题栏颜色

转载 作者:行者123 更新时间:2023-12-04 14:25:38 24 4
gpt4 key购买 nike

我想更改我的 mfc 应用程序的标题颜色。我使用了 OnNcPaint() 方法。但是更改是在客户区而不是标题栏上完成的。

void CTitleBarColorView::OnNcPaint()
{
CRect rc;

GetWindowRect(&rc);
CWindowDC dc(this);

rc.top = GetSystemMetrics(SM_CYFRAME);
rc.right = rc.Width() - 2;
rc.left = GetSystemMetrics(SM_CXFRAME);
rc.bottom =GetSystemMetrics(SM_CYCAPTION);



for (int i = 2; i < rc.Width() - 2; i++)
{
double color;
CPen* oldPen;
color = 200 * (double)i;
CPen pen(PS_SOLID, 1, RGB(0, 0, (int)color));
dc.MoveTo(i, 1);
oldPen = dc.SelectObject(&pen);
dc.LineTo(i, rc.bottom-1);
dc.SelectObject(oldPen);

}

最佳答案

毫无疑问你可以做到这一点,但几乎可以肯定这样做是一个非常糟糕的主意。

当 UI 可预测且一致时,它会很好地工作!您尝试进行的更改使 UI 不可预测且不一致!

您将如何处理不同的操作系统版本、主题/非主题、操作系统的 future 版本,它们在绘制非客户端区域的方式上可能会有很大不同?

使用 Google,您可以找到像 here 这样的方法

关于visual-c++ - 更改 mfc 应用程序的标题栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45631548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com