【发布时间】:2011-02-03 16:21:35
【问题描述】:
我有一些自定义控件,我应该在其中创建单选按钮或复选框。子控件的计数仅在运行时可用(它加载一些从中获取此计数的文件)。所以我需要创建可变数量的控件。我应该为此目的使用哪个集合?
解决方案 1:只需使用 std::vector<HWND>(或 CArray<HWND>) - 不适合,因为我想使用 MFC(CButton)。当然,每次我需要这个窗口时,我都可以Attach() 和以后的Detach() 处理窗口,但这会产生很大的开销。
解决方案 2:使用 std::vector<CButton*> 或 CArray<CButton*> 或 CList<CButton*> 或... 在这种情况下,我会注意在不需要控制时进行“新”和适当的“删除”。我很健忘:)
MFC 句柄映射包含指向 CButton 的指针,我不能使用简单的 CArray<CButton>,因为它会在每次对象变大时移动我的对象。
...问题是: 我应该使用哪个集合来包含 MFC 控件类的变量计数?
【问题讨论】:
标签: mfc dynamic controls creation