繁体   English   中英

更改SysLink控件的背景色-MFC

[英]Chaning the background color of SysLink Control - MFC

我在设置SysLink控件的背景色时遇到问题。

我有一个组合框,还有几个SysLink控件。 当我更改组框的背景色以及syslink控件时,这就是它的样子……

在此处输入图片说明

一条白色小线出现在末尾。 即使调整控件的宽度也不会消失。

这是我的代码:

HBRUSH PanelDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
        pDC->SetBkColor(RGB(0, 0, 255));//RGB(223, 233, 247)
        pDC->SetTextColor(RGB(0, 0, 0));
        return (HBRUSH)GetStockObject(NULL_BRUSH);
}

和OnPaint ...

void PanelDlg::OnPaint()
{
    CRect rect1;
    GetDlgItem(IDC_MENU_GROUP_BOX)->GetWindowRect(&rect1);
    ScreenToClient(&rect1);
    CPaintDC dc(this);
    dc.FillSolidRect(&rect1, RGB(0, 0, 255));// RGB(223, 233, 247)); //247
    CDialogEx::OnPaint();
}

我认为您不需要OnPaint()处理程序,请尝试在OnCtlColor()返回具有相同背景颜色的OnCtlColor() ,就像在对类似问题的SO中那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM