我有一个CMFCPropertyGridCtrl,我在选项对话框中使用。我在我的选项对话框类InitPropertyGrid()中有一个方法。此方法清除任何属性并填充CMFCPropertyGrid对象(使用属性值的自定义设置对象)并将它们附加到网格。CMFCPropertyGridCtrl最后一项没有绘制?
当我第一次打开我的对话框时,所有属性都显示正确。但是,如果我然后关闭我的对话框并重新打开它,最后一个属性不会在屏幕上绘制。所有其他属性,通常得出:
首播时间:
所有后续时间:
正如你所看到的,加/减图标在两种情况下均显示减去以表明该部分扩大。当最后一个项目未显示时,单击+/-图标一次合同,一次展开导致最后一个项目正确显示。
注意当我关闭对话框时,我不会销毁它,只是重新显示它。然而,在调用对话框的ShowWindow之前,我调用InitPropertyGrid()(由UpdateToCurrentSettings调用)方法。
if(optionsDialog_ == NULL)
{
optionsDialog_ = new OptionsDialog(settings_, this);
optionsDialog_->Create(OptionsDialog::IDD, this);
}
optionsDialog_->UpdateToCurrentSettings();
optionsDialog_->ShowWindow(SW_SHOW);