繁体   English   中英

WinAPI:在编辑控件文本后面绘制矩形

[英]WinAPI: Draw rectangles behind Edit Control text

我有一个显示多行字符串的只读编辑控件。 我在我的控件子类化的对话框的窗口过程中使用WM_CTLCOLORSTATIC为其设置背景颜色。 如果窗口缩小,则编辑控件会出现滚动条。 一切正常,您可以选择、复制、左右滚动文本。

    case WM_CTLCOLORSTATIC:
        if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_DEBUGGER_DISASSEMBLY))
        {
            SetBkColor((HDC)wParam, RGB(255, 255, 255));
            return (LRESULT) GetStockObject(DC_BRUSH);
        }
        break;

我想在特定行后面制作自定义背景颜色。 我的正常 BG 在那里是白色的,对于那条线,我想要,比如说,蓝色。

我尝试将WM_PAINT用于编辑控件,但后来我似乎必须再次绘制文本,否则控件的原始文本在我选择它之前将不可见。 如果我也手动绘制文本,它不会像原始文本一样滚动。

如果您绝对必须有一个编辑控件,那么我看不到解决方案。 但是,通过一些调整,您可能能够使用丰富的编辑控件。 它接受大多数与编辑控件相同的消息。 诀窍是使用 SetCharFormat 来设置要更改的行的格式。

暂无
暂无

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

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