c++ - 是否可以在编辑中更改编辑控件的背景颜色?

标签 c++ winapi edit background-color

我现在正在为 Windows api 编写一个 GUI 包装器(我不能使用 qt 或 mfc)。图书馆本身非常基础。在对 Windows 公共(public)控件进行子类化(并将它们包装到类中)之后,我遇到了一个问题。据我所知(我希望我是错的),只有父控件可以处理像 WM_CTLCOLOREDIT 之类的消息。但我希望能够写出这样的东西:

myedit->SetBkColor ( RGB ( 0, 0, 0 ) );

是否可以完全实现(例如在 Windows 窗体中),或者我应该从头开始编写一个新的控件,然后自己写画?

谢谢你,#535。

最佳答案

您可以做到,但这是一项相当大的工作量。基本思想是您创建另一个窗口作为您子类化的控件的父窗口。这样,您就可以跟踪通知消息(例如 WM_CTLCOLOREDIT)是由父控件还是由子类控件本身处理的。如果它由父级处理,它只是传递消息,但如果它应该由子类控件本身处理,它会将消息反射回控件。

关于c++ - 是否可以在编辑中更改编辑控件的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1590905/

相关文章:

c++ - 如何从C中的数据中删除Ì

C++ : Slicing to base rvalue?

c++ - 如何将 IPropertyBag 持久化到磁盘

Java代码编辑

c++ - 命名元组元素

c++ - 有没有办法直接在 C++ 中访问 RTTI 以改进虚拟调用中的分支预测?

c - 让弹出菜单显示/创建对话框? Windows32编程

windows - 将工具栏放入 Windows 任务栏(ala 语言栏)

Material 设计中的Android EditText View float 提示

javascript - 有没有办法在自定义记录的查看模式下禁用(或)删除 Netsuite 标准编辑按钮