Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Проблема с активацией родительского окна


Автор: z101x 16.12.2011, 13:05
В общем создаю и вызываю CFileDialog, запускается из пункта меню, но после его закрытия, окно, вызвавшее его не становится активным, хотя при вызове aboutbox все нормально - не могу понять проблему уже голову сломал...
Код

if (dopen==NULL) dopen=new CFileDialog(TRUE,NULL, _T(""), OFN_FILEMUSTEXIST, _T("Все файлы|*.*|Текстовый документ (*.txt)|*.txt|"),theApp.m_pMainWnd,0,1);
    if (dopen)
    {
      dopen->m_pOFN->lpstrTitle=_T("Открытие файла с данными");  
      dopen->m_pOFN->lpstrInitialDir=_T(""); 
      
      if(dopen->DoModal()==IDOK)
      {
        
      }
}


Добавлено через 2 минуты и 1 секунду
может окно само и активно, то есть реагирует на кнопки, но заголовок окна выглядит как неактивный и при щелчке по форме или ее элементам не становится как у активного окна...

Автор: vol4ek 17.12.2011, 00:53
Код


#include<...>

CString path,filename,exseption;


// а вот собственно и вызов


    CWnd* TheWindow=GetActiveWindow();
    CFileDialog fd(true,NULL,NULL,OFN_ALLOWMULTISELECT+
        OFN_HIDEREADONLY,NULL,TheWindow);    
    

    if (fd.DoModal()==IDOK)
    {
        path = fd.GetPathName(); // Определяет полный путь файла 
        filename = fd.GetFileName(); // Определяет имя выбранного файла 
        exseption = fd.GetFileExt(); // Определяет расширение имени выбранного файла

    }


Попробуй так.

Автор: z101x 19.12.2011, 09:40
все равно не работает (( видимо это связано с диалоговым окном как-то, потому что в SDI все работает нормально

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)