Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема отображения диалога 
V
    Опции темы
Fazil6
Дата 25.1.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

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



кто-нибудь может объяснить почему имею такую картину
Код

LogForm help_form; //class LogForm : public CDialog
help_form.DoModal(); // окно показывается
...
help_form.ShowWindow(SW_SHOW);// а так нет


PM MAIL   Вверх
Andrey44
Дата 25.1.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



Я думаю для того, чтобы использовать help_form.ShowWindow(SW_SHOW);
Нужно сначала help_form.Create(....................);


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Fazil6
Дата 25.1.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

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



ок
PM MAIL   Вверх
NiJazz
Дата 25.1.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


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

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



Fazil6, если пользуешься диалогом, то вызывай DoModal.
PM MAIL   Вверх
Fazil6
Дата 25.1.2008, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

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



Цитата(NiJazz @  25.1.2008,  16:44 Найти цитируемый пост)
если пользуешься диалогом, то вызывай DoModal

интересная мысль... Тока причем здесь DoModal, если мне нужно немодальное окно?
PM MAIL   Вверх
NiJazz
Дата 25.1.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


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

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



Fazil6, а ты не подумал о том, что диалог (CDialog) - модальное окно по определению?
PM MAIL   Вверх
Fazil6
Дата 26.1.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

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



Цитата(NiJazz @  25.1.2008,  22:23 Найти цитируемый пост)
Fazil6, а ты не подумал о том, что диалог (CDialog) - модальное окно по определению?

очень смешно... Модальное оно или нет - это мне решать.
PM MAIL   Вверх
Andrey44
Дата 26.1.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



NiJazz, Но ведь при вызове DoModal() с главным окном приложения ничего не сделаешь! А если надо.


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
NiJazz
Дата 26.1.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


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

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



Цитата

Модальное оно или нет - это мне решать.
 
Ничего, понимание этих вещей придёт со временем.  smile 

Andrey44, 
не понял.. Что значит сделать главным окном приложения? Вызов DoModal выдаёт диалог пользователю, который вводит данные и тут же его закрывает. Диалоги сделаны только для этих целей. Главное окно приложения - это CView, к примеру. Как правило, если приложение GUI-ориентированное, то главным окном диалог никак быть не может.
PM MAIL   Вверх
Fazil6
Дата 26.1.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

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




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Andrey44
Дата 28.1.2008, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



Цитата(NiJazz @  26.1.2008,  20:20 Найти цитируемый пост)
Главное окно приложения - это CView, к примеру. Как правило, если приложение GUI-ориентированное, то главным окном диалог никак быть не может. 


 smile 

NiJazz,  А если я не использую  MDI то какое окно будет главным в моем приложении?


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
dizzy1984
Дата 28.1.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



По-моему, во втором посте сказали все правильно. Диалоговое окно конечно может быть и модальным и немодальным. 
Fazil6, возьми за правило читать описание функций/классов для mfc из msdn, так как это единственный надежный источник информации.
Цитата

To create a modal dialog box, construct an object on the stack using the constructor for your derived dialog class and then call DoModal to create the dialog window and its controls. If you wish to create a modeless dialog, call Create in the constructor of your dialog class.

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


 




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


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

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