Народ! У меня есть вопрос-как сделать в приложении dialog-based главное окно НЕМОДАЛЬНЫМ диалогом? Можно, конечно, сделать его не диалогом, но не нужно.
И еще неразгаданная мелочь: как в class wizard'e удалить уже несуществующие классы?
P. S. Если можно, пошлите ответ на e-mail: ant-s@nevo-d.spb.ru
AS>Народ! У меня есть вопрос-как сделать в приложении dialog-based главное окно НЕМОДАЛЬНЫМ диалогом? Можно, конечно, сделать его не диалогом, но не нужно. AS>И еще неразгаданная мелочь: как в class wizard'e удалить уже несуществующие классы?
У тебя в классе должно стоять:
#include "твой_класс_диалога"
потом в событии должно быть так:
MyDialog dlg;
dlg.Create(IDD_DIALOG1,this);
dlg.ShowWindow(SW_SHOW);
Допустим что твой класс диалога енто MyDialog;
Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.
А вообще то я допустила оплошность!
Объект будет разрушаться при выходе из ф-ии.
Поэтому нужно создать объект где нить а header (*.h) файле!
Если будут вопросы задавай , да кстати ставь оценки побольше =)
Должно работать, даже не должно, а будет работать, счастливых тебе опытов
Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.
Здравствуйте AntonS, Вы писали:
AS>Народ! У меня есть вопрос-как сделать в приложении dialog-based главное окно НЕМОДАЛЬНЫМ диалогом? Можно, конечно, сделать его не диалогом, но не нужно.
Если будешь объект в хипе размещать, то почитай это
Честно говоря я и сама такая что раз захотелось мне сделать в таком окне я и буду долбиться!
А может это просто для понимания, это тоже нужно учитывать!
Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.
Здравствуйте Olearda, Вы писали:
O>Честно говоря я и сама такая что раз захотелось мне сделать в таком окне я и буду долбиться! O>А может это просто для понимания, это тоже нужно учитывать!
1.По поводу создания немодального диалога см. работающий пример: http://localhost/programming/vc/mfc/lessons/040.shtml
O>"И еще неразгаданная мелочь: как в class wizard'e удалить уже несуществующие классы?" отвечаем — просто удали *.cpp и *.h. См. также http://progs.biz/vc/faq/lessons/024.shtml
Casco
Здравствуйте Olearda, Вы писали:
O>А мой учитель говорил мне когда то что существующий класс удалить трудно! А оказалось делов то..
Ну, не все здесь так просто. Ведь удаляемый класс может использоваться в других файлах...;(
А вот что действительно муторно в VC++6.0 — так это переименование классов. Но в VC++.NET это существенно проще .
Скорее не диалоги, а удаление существующего класса.
Оказывается когда удаляешь *.cpp и *.h класс с classview исчезает, но в Визарде он остается по прежнему. Поэтому нужно закрыть проект, запустить заново и зайти в Визард. Визард начнет ругаться, что мол так и так, не вижу такого класса и просит ввести кас путь к *.cpp и *.h
Но нам не надо ничего вводит тама просто есть кнопка Delete. Нажав на которую Визард стирает все данные о существовании такого класса
Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.
Re[2]: Диалоги
От:
Аноним
Дата:
16.06.02 10:16
Оценка:
Здравствуйте SergH, Вы писали:
SH>Здравствуйте AntonS, Вы писали:
AS>>Народ! У меня есть вопрос-как сделать в приложении dialog-based главное окно НЕМОДАЛЬНЫМ диалогом?
SH>А зачем? Как отличить (юзеру) главное окно-модальный диалог от главного окна-немодального диалога?
Юзеру, конечно все равно, а мне нет с точки зренияы организации приложения
Сделал-таки!!! Была ошибка-не передавал указатель на главное окно приложения. Передал. Заработало.
Но при этом при закрытии диалога приложение висело в системе, так что пришлося его вручную сворачивать.
Еще вопросы-
когда так я его сверну — PostMessage(WM_QUIT) если открыты другие окна приложения будут ли выываться OnClose или OnDestroy для этих окон?