我正在编写一个MFC CEdit派生的控件,并且一旦该控件的m_hwnd被填充,我就需要添加初始化代码。
我可以覆盖哪个功能或可以处理哪个消息来实现此目的?
我尝试使用OnCreate,但它似乎仅适用于对话框
编辑:
我正在初始化的是编辑的提示横幅
谢谢
最佳答案
遵循Mark Ransom的提示,我终于找到了更好的函数来实现我的初始化。重载CWnd::SubclassWindow是一个好主意,但此函数不是虚函数,因此需要从子类指针进行调用。从CWnd *调用SubclassWindow是行不通的。
我找到了函数CWnd::PreSubclassWindow。它是虚拟的,在SubclassWindow之前被调用。由于m_hwnd在此处有效,因此是编写我所需代码的好地方。
此外,该函数是虚拟的,并由框架自动调用,因此我不必担心拥有良好的指针类型