MFC在表单上创建事件

时间:2015-10-08 13:35:48

标签: visual-c++ mfc

我有简单的FMC对话框表格。找不到如何管理应该在表单创建时刻调用的事件。像onFormCreate这样的东西就像在VB或Delphi中一样。

如何创建此类功能?

我的简单表单标题:

#pragma once


// CMFCApplicationUPTDlg dialog
class CMFCApplicationUPTDlg : public CDialog
{
// Construction
public:
    CMFCApplicationUPTDlg(CWnd* pParent = NULL);    // standard constructor

// Dialog Data
    enum { IDD = IDD_MFCAPPLICATIONUPT_DIALOG };

    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support


// Implementation
protected:
    HICON m_hIcon;

    // Generated message map functions
    virtual BOOL OnInitDialog();
    afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    afx_msg void OnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    DECLARE_MESSAGE_MAP()
public:
    afx_msg void OnBnClickedOk();
    afx_msg void OnBnClickedButton1();
};

2 个答案:

答案 0 :(得分:0)

您想在OnInitDialog()成员函数中处理它。在调用OnInitDialog()时,将创建对话框及其所有子窗口。但是,对话框仍然对用户不可见。退出OnInitDialog()后,对话框将显示给用户。

因此,您可以在此处初始化对话框。

答案 1 :(得分:0)

您需要在自己的派生类中实现OnInitDialog。

BOOL CMFCApplicationUPTDlg::OnInitDialog()
{
  // this will create the controls you defined in the resources.
  BOOL retValue = __super::OnInitDialog();

  // initialize (or add new controls to ) your dialog content here.
  // ...
  return retValue;
}