gpt4 book ai didi

c++ - 如何在没有未覆盖区域的情况下绘制 CEdit 控件?

转载 作者:行者123 更新时间:2023-11-28 02:38:39 25 4
gpt4 key购买 nike

我在对话框上有 CDialg 和 CEdit 控件。因此,为了在不对 CEdit 类进行子类化的情况下绘制 CEdit 控件,我使用了 CDialog::OnCtlColor,就像这样。

if( nCtlColor == CTLCOLOR_EDIT )
{
pDC->SetBkColor(RGB(200, 255, 200));
}

但是如您所见,它省略了编辑控件的一些边距区域。

如何在 CEdit 的整个窗口 Rect 上绘制它?

Image

最佳答案

您还需要返回一个具有正确颜色的画笔,因此在对话框构造函数中创建一个画笔

#define EDITCOLOR RGB(200, 255, 200)
m_brEdit.CreateSolidBrush(EDITCOLOR);

OnCtlColor() 函数中,

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor == CTLCOLOR_EDIT)
{ pDC->SetBkColor(EDITCOLOR);
hbr = m_brEdit;
}
return hbr;

关于c++ - 如何在没有未覆盖区域的情况下绘制 CEdit 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26685432/

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