小火车_哔
2015-04-09 15:35
采纳率: 50%
浏览 4.0k

MFC对话框程序通过按钮弹出子对话框,如何初始化子窗口

要实现的功能就是点击按钮,用dlg.DoModal()弹出子对话框,在子对话框中有CListControl控件,要对CListControl控件进行数据的初始化,但是无法对其进行初始化。子对话类中已经添加了OnInitDialog()方法,感觉没有执行这个方法,求解。
点击按钮事件代码:

void CMFCPaikeDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码

CDialogEx::OnOK();
CDialog dlg(IDD_DIALOGCLASS);
dlg.DoModal();

}
子窗口类中的OnInitDialog()代码:

BOOL ClassEidt::OnInitDialog()
{
CDialogEx::OnInitDialog();
classCListctr.InsertColumn(0, _T("id"), LVCFMT_CENTER);
classCListctr.InsertColumn(0, _T("name"), LVCFMT_CENTER);

return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • oyljerry 2015-04-09 15:50
    已采纳

    你用的CDialog定义的dlg当然不行。要用子窗口对话框类。

    已采纳该答案
    打赏 评论
  • alwaysalex 2015-04-10 00:53

    该模态对话框的初始化应用对应子窗口的初始化函数

    打赏 评论
  • random_xyz 2015-04-10 03:55

    IDD_DIALOGCLASS 这个窗口是你要DoModal吧? 这个窗口是 ClassEidt?

    打赏 评论

相关推荐 更多相似问题