是否可以在编辑内更改编辑控件的背景颜色?

时间:2009-10-19 20:21:29

标签: c++ winapi edit background-color

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

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

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

谢谢你,#535。

1 个答案:

答案 0 :(得分:3)

你可以做到,但这是相当多的工作。基本思想是您创建另一个窗口作为您子类化控件的父级。在那里,您可以跟踪父级或子级控件本身是否正在处理通知消息(例如WM_CTLCOLOREDIT)。如果它由父进程处理,它只是传递消息,但如果它应该由子类控件本身处理,它会将它反映回控件。