繁体   English   中英

在运行时从MFC中的派生类添加控件

[英]Adding controls at runtime in from derived class in MFC

我有两节课。 class DialogBase继承自CDialog类DialogDerived继承自DialogBase。

BOOL DialodDervied::OnInitDialog()
{
     CDialogBase::OnInitDialog();
     //Add Dynamic Control to Main Dialog from here
}

我想在通过派生类调用Dialog(CDialogBase)时动态添加一个复选框。 可能吗? 如果有,怎么样?

声明一个成员变量CButton m_ctrl_chk ,覆盖DialodDervied :: OnCreate()并添加代码

int DialodDervied::OnCreate(LPCREATESTRUCT lpCreateStruct)
{    if (CDialogEx::OnCreate(lpCreateStruct) == -1)
        return -1;

    m_ctrl_chk.Create(_T("Checkmate"), WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTOCHECKBOX,
        CRect(5, 5, 100, 20), this, 1234); // the 1234 value is the ID of the control

    return 0;
}

使用类似的类( CEditCStaticCButton ,...)以相同的方式创建其他类型的控件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM