【发布时间】:2015-03-06 16:26:33
【问题描述】:
我想创建一个对话框,允许用户为对象的多个实例设置相同的属性。比如:
有人建议我为行创建一个无标题、无模式的对话框,然后多次实例化它,并为行类维护一个数组。我试过我到了那里,但不完全。看来我的问题可能是剪辑。我现在有一些工作:
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);
我看到了属性页,但它似乎是空的。我还需要做些什么来显示该行吗?
【问题讨论】:
-
设计问题:有什么理由不在报告样式中使用 CListCtrl?
-
创建一个 CWnd 派生类,它是控件组的容器。顺便说一句,您需要使用 MFC 吗?我已经迁移到 Qt,在其中做这些事情要容易得多,而且仍然是 C++。
-
@rrirower,虽然 MFC 很老,但我是新手。我不确定 CListCtrl 是什么。我去看看。
-
@sashoalm,我正在维护/增强使用 MFC 构建的旧应用程序。我别无选择。
-
如果您需要报表样式的列表控件无法处理的事情,一个好的起点可能是 Chris Maunder 的MFC Grid Control。
标签: mfc