Re: Просмотр изображения в наследнике CFileDialog
От: retalik www.airbandits.com/
Дата: 04.02.03 05:38
Оценка: 2 (1)
Здравствуйте, 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 — комбобокс. У тебя нужно создать статик.
Успехов,
Виталий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.