| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Почему не работает диалог в WinMain? |
| Автор: Edik 2.10.2006, 10:33 | ||
вот следующий код. первое окно "Enter" появляеться, потом его задержка по программе как положено, потом оно исчезает, а второе окно "My"- появиться, блымнет и быстро исчезает. что мне делать.
|
| Автор: neosapient 2.10.2006, 11:12 | ||
| Глупая мысль, тут на днях делал диалоговое окно, в котором кроме прочих стандартных окон был прогрессбар. Так вот поскольку я не произвел инициализацию коммонконтролов, то окошко не появлялось. Попробуй так:
надеюсь поможет |
| Автор: Pulse69 2.10.2006, 13:48 | ||
| Ты просто показал немодальный диалог, потом программа завершилась и всё. Используй модальные диалоги ( ф-ция DialogBox ), или помести в WinMain цикл обработки сообщений
|
| Автор: neosapient 2.10.2006, 20:32 | ||
| Люди, мой глюк - почему диалог не закрывается. Собственно не хочу создавать окно через CreateWindow, а хочу подгрузить диалог из ресурсов. Сделать такой простой пример - типа "Hello, World" - в котором есть весь минимальный каркас обработки сообщений и ничего лишнего.
Собственно исправьте все, что можно. Особенно обратить внимание на то, что при нажатии на крестик в правом верхнем углу, окно зарывается, а процесс нет. |
| Автор: Gwendolen 2.10.2006, 22:00 |
| Смотри мой пример на http://forum.vingrad.ru/index.php?showtopic=112618 |
| Автор: neosapient 3.10.2006, 11:54 | ||
| Gwendolen, спасибо за ответ... Иными словами когда создаешь не модальный диалог надо создавать структуру класа окна которого никогда не будет Надеюсь я правильно разобрался. А теперь бонусный вопрос - зачем так усложнять жизнь созданием не используемого класса для родительского окна, которое никогда не появиться и у которого есть единственный дочерний диало? И зачем делать функцию заглушку для родительского класса, если поток сообщений мы "льем на мельницу" функции обработки дочернего диалога? А что если при регистрации класса родительского окна, там зарегистрировать в качестве функции обработки сообщений колбек от единственного дочернего диалога? Надо будет попробовать... Коректно ли оно будет работать и закраваться. Вот с модальным диалогом все вроде логичнее (
|
| Автор: Gwendolen 3.10.2006, 22:13 | ||||||||||
Согласен, для простых случаев сгодится (открыл, чтото сделал быстро закрыл), но у тебя нет цикла сбора сообщений
Возможны проблемы с получением сообщений. У меня было приведено два примера (в одном исходнике и не работают одновременно) не модальных ГЛАВНЫХ окон. Вот пример главного окна без класса: "rc.rc"
"main.c"
А теперь пример главного окна с классом: "rc.rc"
"main.c"
Обрати внимание на различие LRESULT CALLBACK WindowProc и BOOL CALLBACK MainDlgProc. |
| Автор: Gwendolen 4.10.2006, 00:06 | ||
Согласен, для простых случаев сгодится (открыл, чтото сделал быстро закрыл), но у тебя нет цикла сбора сообщений
Возможны проблемы с получением сообщений. У меня было приведено два примера (в одном исходнике и не работают одновременно) не |
| Автор: Edik 11.10.2006, 02:52 |
| ребятя- че это вы тут залезли ко мне, обсуждаете левые темы? может вам еще кофе сделать? |
| Автор: neosapient 11.10.2006, 18:33 |
| Извени, сначала темы были правыми А вообще закрывай эту ветку форума,.. Я ... более мение разобрался. Сорри за оффтоп. [off topic] Э, идея. Обращение к разработчикам форума: Во есть кнопка "КОД", кнопка полезная. Сделайте кнопку "ОФФТОП". Текст помещеный между тегами будет либо отображаться, либо нет. Чтоб любой посетитель мог просматривать ветку форума определить нужны ему оффтопы или нет. А те кто пишут , должны сами решать что оффтоп а что нет. И если мое предложение примут к рассмотрению, то надо бы просеять содержимое всего форума. [/off topic] |
| Автор: Edik 23.10.2006, 21:07 |
| не мне понравилось- можете писать дальше |