【问题标题】:How to know when CWnd's Create function was called?如何知道 CWnd 的 Create 函数何时被调用?
【发布时间】:2012-01-19 01:39:59
【问题描述】:

我编写了一个包装网格控件的类。 我想通过调用 Create 函数在创建自定义网格类时对其进行初始化。

有什么方法可以让我捕捉到事件吗?

【问题讨论】:

    标签: mfc message


    【解决方案1】:

    是的,如果使用 CWnd:Create 或 Cwd:CreateEx,则可以通过以下方式捕获 Win32 事件:

    afx_msg int OnCreate(
       LPCREATESTRUCT lpCreateStruct 
    );
    

    见CWnd::OnCreate

    有对应的映射:

    BEGIN_MESSAGE_MAP(MyGrid, CWnd)
    ON_WM_CREATE()
    END_MESSAGE_MAP()
    

    注意:如果你的控件是由设计者直接添加到对话框模板上的(即使用DDX),函数CWnd:.OnCreate()不会被调用。

    在所有情况下,在初始化 Hwnd(窗口句柄)之后,在创建时调用以下函数:

    virtual void PreSubclassWindow( );
    

    见PreSubclassWindow

    最好的问候, 阿兰

    【讨论】:

      猜你喜欢
      • 2021-05-02
      • 1970-01-01
      • 2021-09-26
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 2014-07-10
      相关资源
      最近更新 更多