我有简单的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();
};
答案 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;
}