Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SDI приложение с FrameWnd поменять диалог 
:(
    Опции темы
kurlyak
Дата 25.4.2013, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



Есть приложение SDI на базе CFrameWnd. На ресурсе диалога CFrameWnd есть кнопка после запуска приложения. По нажатию на эту кнопку должен поменяться ресура диалога в главном фрейме - то есть по нажатию на кнопку на диалоге должен показаться другой диалог. Как это реализовать? Пробывал обрабатывать нажатие кнопки в классе CMainFrame - не реагирует. Мне надо что бы отобразился другой диалог и на нем тоже кнопка, по нажатию на этой следующей кнопке на следующем диалоге- показался следующий диалог с кнопкой, и так далее.
PM MAIL   Вверх
mbedreal
Дата 26.4.2013, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.4.2013

Репутация: нет
Всего: нет



Ресурс диалога в RT не участвует. Так что выводи новый диалог с такой же кнопкой. Или не понял я в чем проблема?
 
PM MAIL   Вверх
Earnest
Дата 26.4.2013, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Надеюсь, фрейм отдельно, диалог отдельно?
Тогда просто по нажатию кнопки посылай PosMessage главному окну какое-нибудь сообщение и закрывай диалог. Поймав сообщение, главное окно создает новый диалог и т.д.


--------------------
...
PM   Вверх
kurlyak
Дата 26.4.2013, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



Вобщим спасибо господа и дамы за внимание, я решил проблему:

Код

void CMyFormView18::OnBnClickedButton1()
{
    // TODO: Add your control notification handler code here
    CFrameWnd * pFrame = (CFrameWnd *)(AfxGetApp()->m_pMainWnd);
    CDocument* pDoc= pFrame->GetActiveDocument();
    CView* pCurrView = pFrame->GetActiveView();
    CView* pNewView = new CMyFormView19();
    pNewView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
                pFrame->rectDefault, pFrame, AFX_IDW_PANE_FIRST, NULL);
    pNewView->OnInitialUpdate();
    pNewView->ShowWindow(SW_SHOW);
    pCurrView->ShowWindow(SW_HIDE);
    pDoc->AddView(pNewView);
    pDoc->RemoveView(pCurrView);
    pFrame->SetActiveView(pNewView);
    pFrame->RecalcLayout();
}


Код

void CMainFrame::OnNew()
{
    // TODO: Add your command handler code here
    CDocument* pDoc= GetActiveDocument();
    CView* pCurrView = GetActiveView();
    CView* pNewView = new CFishfarmingView();
    pNewView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
                rectDefault, this, AFX_IDW_PANE_FIRST, NULL);
    pNewView->OnInitialUpdate();
    pNewView->ShowWindow(SW_SHOW);
    pCurrView->ShowWindow(SW_HIDE);
    pDoc->AddView(pNewView);
    pDoc->RemoveView(pCurrView);
    SetActiveView(pNewView);
    RecalcLayout();
}



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0830 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.