Здравствуйте, Iterator, Вы писали:
I>Проблема такая: в получившемся диалоге что-то не так с прорисовкой. Не перерисовываются некоторые элементы управления. (и проц грузится на 100%).
I>Все в VC++ .NET
Что интересно, столкнулся в свое время точно с такой же проблемой. После долгого стучания головой в стену родился довольно "оригинальный" способ (CAddFilesDlg порожден от CFileDialog):
BOOL CAddFilesDlg::OnInitDialog()
{
CFileDialog::OnInitDialog();
CWnd *parent=GetParent();
// это просто указатель на CDialog с дополнительным ресурсом IDC_SPECIAL_FOLDER
extension=new CDialog;
extension->Create(IDD, parent);
CRect rc, rcExt;
parent->GetWindowRect(rc);
extension->GetClientRect(rcExt);
m_folders.SubclassWindow(extension->GetDlgItem(IDC_SPECIAL_FOLDER)->GetSafeHwnd());
rcExt.OffsetRect(0, rc.Height()-rcExt.Height());
extension->MoveWindow(rcExt);
rc.bottom+=rcExt.Height();
parent->MoveWindow(rc);
return TRUE;
}
То есть, создаем свой мини-диалог и пришлепываем его
к паренту CFileDialog.
Можно обойтись и без создания промежуточного диалога.
В моем случае, IDC_SPECIAL_FOLDER — комбобокс. У тебя нужно создать статик.