在MFC中管理类似控件行的数据的最佳方法是什么?

时间:2015-03-06 16:26:33

标签: mfc

我想创建一个对话框,允许用户为对象的多个实例设置相同的属性。类似的东西:

Several rows of the same controls

有人建议我为该行创建一个无标题的无模式对话框,然后多次实例化它,并为数组维护行类的对象。我试过,我在那里得到了一些但并不完全。看来我的问题可能就是裁剪。我现在有一些工作:

BOOL CPropPageDI::OnInitDialog()
{
    CPropertyPage::OnInitDialog();

    CRowDI* row = new CRowDI();

    CRect rect;
    CWnd* pos = GetDlgItem(IDC_POS_DI);
    pos->GetWindowRect(&rect);
    // Make sure that the row fits
    rect.right = rect.left + 492;
    rect.bottom = rect.top + 55;

    ScreenToClient(&rect);
    row->Create(IDD_ROW_DI, this);
    row->MoveWindow(&rect);
    row->ShowWindow(SW_SHOW);

我看到了属性页面,但似乎是空的。还有什么我需要做的才能让这一行出现吗?

1 个答案:

答案 0 :(得分:0)

如果每一行都是子对话框,那么控制数组和控件ID的问题就会消失。你只需编写一个'Thing'的代码,然后管理一系列'Things'。

在这种情况下,子对话框将是一个关闭标题栏样式的无模式对话框,因此视觉结果将与您的示例相同。