0

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

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

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

谢谢你,#535。

4

1 回答 1

3

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

于 2009-10-19T20:31:38.197 回答