WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Не выводится диалоговое окно в VC++!

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Не выводится диалоговое окно в VC++!
Master опубликован 01-12-2001 18:16 MSK   Click Here to See the Profile for Master   Click Here to Email Master  
Не выводится диалоговое окно в VC++!
VC++6.0Ent, W2KPro Eng, MFC Application
Создаю ресурс диалогова окна, соответств. класс
Дальше включаю необходимые "XXX.h" и т.д.
Далее при нажатии на такую-то кнопку:
КлассЭтогоХероваОкна newdialog;
newdialog.Create(IDD_Херово_Окно, this);
newdialog.ShowWindow(SW_SHOW);
Но диалоговое окно исчезает сразу же после появления, причем никакие элементы на нём не прорисовываются (это можно увидеть, поставив после newdialog.ShowWindow(SW_SHOW); задержку Sleep(YYY);)
Что делать?
Как проблему решить?
СПАСИБО ЗА ПОМОЩЬ!
DmitryRyvkin опубликован 01-12-2001 18:31 MSK     Click Here to See the Profile for DmitryRyvkin  Click Here to Email DmitryRyvkin     
Create нафиг.
MyGoogDlg.DoModal()
Master опубликован 01-12-2001 18:41 MSK     Click Here to See the Profile for Master  Click Here to Email Master     
Да, DoModal() выводит окно и оно больше не закрывается, но окно выводится пустым - без каких-либо элементов!!!
Master опубликован 01-12-2001 18:54 MSK     Click Here to See the Profile for Master  Click Here to Email Master     
Может MSVC++ переустановить?
SUnteXx опубликован 01-12-2001 20:47 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
А Вы случайно ActiveX не используете в диалоге?
Master опубликован 01-12-2001 22:20 MSK     Click Here to See the Profile for Master  Click Here to Email Master     
Нет, не использую!
DmitryRyvkin опубликован 01-12-2001 23:34 MSK     Click Here to See the Profile for DmitryRyvkin  Click Here to Email DmitryRyvkin     
Не может такого быть вообще. Напутали IDD
что вообще то показывается ? удалите все остальные диалоги для проверки.
Master опубликован 02-12-2001 01:17 MSK     Click Here to See the Profile for Master  Click Here to Email Master     
Ничего не перепутано!!!
Показывается пустая(!!!!!) форма без кнопок и т.д. и сразу же закрывается (ну, если конечно же не заслипить)!!!
Прочитал тут в одном факе, что
6.3.4. CDialog::Create() fails, what could be wrong?
-Invalid HWND passed as a parent
-Invalid dialog resource ID passed (be careful about numeric IDsvs. string IDs -- be careful with #define ID_MYDIALOG 0x1234 -- it is a "string" ID to the resource compiler).
-One or more controls on your dialog could not be created, usually
-Because of the use of a custom control that was not registered.
-Calling EndDialog during the OnInitDialog message (or some other handler called early in the game)!
-NULL HWND passed as parent when dialog has WS_CHILD style
That's about all I can think of right now,

Dean McCrory, MSMFC, 6/16/95
Думал, что скорее всего -One or more controls on your dialog could not be created, usually !!!
Но оказалось, что если все элементы из формы убрать, то она тоже сразу же исчезнет после появления!!!
Так что вопрос остаётся открытым!!!

DmitryRyvkin опубликован 02-12-2001 10:31 MSK     Click Here to See the Profile for DmitryRyvkin  Click Here to Email DmitryRyvkin     
Еще раз повторяю - используйте DoModal а не Create. Кстати Custom компонентов не лепили ?
На худой конец пришлите мне ваши сурцы, найдем в чем собака зарыта
dmitry_rv@mail.ru
Kir1 опубликован 03-12-2001 13:01 MSK     Click Here to See the Profile for Kir1  Click Here to Email Kir1     
КлассЭтогоХероваОкна newdialog;
newdialog.Create(IDD_Херово_Окно, this);
newdialog.ShowWindow(SW_SHOW);
ага доходим до конца функции и уничтожается окошечко в деструкторе ....
нужно делать так:
это делай глобально или в классе где тебе нужно...
КлассЭтогоХероваОкна *newdialog;
//начало твоей функции
newdialog = new КлассЭтогоХероваОкна;
newdialog->Create(IDD_Херово_Окно, this);
newdialog->ShowWindow(SW_SHOW);
//конец твоей функции
а потом когда тебе оно больше не будет нужно, то делай delete newdialog;

Master опубликован 03-12-2001 19:30 MSK     Click Here to See the Profile for Master  Click Here to Email Master     
СПАСИБО!!!

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.