【发布时间】:2012-01-19 01:39:59
【问题描述】:
我编写了一个包装网格控件的类。 我想通过调用 Create 函数在创建自定义网格类时对其进行初始化。
有什么方法可以让我捕捉到事件吗?
【问题讨论】:
我编写了一个包装网格控件的类。 我想通过调用 Create 函数在创建自定义网格类时对其进行初始化。
有什么方法可以让我捕捉到事件吗?
【问题讨论】:
是的,如果使用 CWnd:Create 或 Cwd:CreateEx,则可以通过以下方式捕获 Win32 事件:
afx_msg int OnCreate(
LPCREATESTRUCT lpCreateStruct
);
有对应的映射:
BEGIN_MESSAGE_MAP(MyGrid, CWnd)
ON_WM_CREATE()
END_MESSAGE_MAP()
注意:如果你的控件是由设计者直接添加到对话框模板上的(即使用DDX),函数CWnd:.OnCreate()不会被调用。
在所有情况下,在初始化 Hwnd(窗口句柄)之后,在创建时调用以下函数:
virtual void PreSubclassWindow( );
最好的问候, 阿兰
【讨论】: