![]() 5 / 5 / 2
Регистрация: 14.12.2013
Сообщений: 67
|
||||||
1 | ||||||
Некорректное отображение диалогового окна. Win32API, OpenGL19.03.2014, 21:21. Показов 1647. Ответов 4
Метки нет Все метки)
(
Добрый вечер.
Я пытаюсь сделать так, чтобы по нажатии кнопки меню появлялось модальное диалоговое окно. На данном этапе, содержащее хотя бы кнопки "Ок" и "Отмена". Работаю в VS13. Уже раскаялся, что не в Qt. Как водится, в ресурсах создаю диалоговое окно, указываю ID и больше ничего не трогаю. Пишу соответствующий код в обработчик событий и пишу функцию диалогового окна. В итоге получаю следующее: Подскажите, пожалуйста, где я делаю ошибку. Пытался искать в старых темах - не нашел. Значимая часть программы: Строка 84 - вызов диалога. Кликните здесь для просмотра всего текста
0
|
19.03.2014, 21:21 | |
Ответы с готовыми решениями:
4
Неправильное отображение диалогового окна
|
Модератор
![]() ![]() 13732 / 10928 / 6483
Регистрация: 18.12.2011
Сообщений: 29,167
|
||||||
19.03.2014, 21:36 | 2 | |||||
Попробуйте так
1
|
![]() 5 / 5 / 2
Регистрация: 14.12.2013
Сообщений: 67
|
|
19.03.2014, 21:44 [ТС] | 3 |
К сожалению, результат неизменен.
Еще я могу свести свою беду к этой беде: Не создаются диалоговые окна Но я не понимаю, где вызывать ValidateRect, о которой говорил автор в последнем сообщении. Эта функция должна принимать идентификатор окна, а hDlg доступен только из функции Options. А вызов ValidateRect внутри функции Options не дает результата. Не по теме: Пардон, что опять написал не в ту тему.
0
|
Модератор
![]() ![]() 13732 / 10928 / 6483
Регистрация: 18.12.2011
Сообщений: 29,167
|
|
19.03.2014, 21:58 | 4 |
![]() Решение
У меня есть тестовый пример содержащий только диалог (прилагаю).
Попробуйте, может найдете разницу.
2
|
![]() 5 / 5 / 2
Регистрация: 14.12.2013
Сообщений: 67
|
||||||
19.03.2014, 22:57 [ТС] | 5 | |||||
Спасибо. Не помогло, но натолкнуло на мысль.
Кликните здесь для просмотра всего текста
Теперь функция выглядит так. Окно теперь выглядит нормально. Но при нажатии на кнопку меню окно не выпадает. Оно появляется только после того, как я нажму Alt. Вероятно, для корректного появления нужно сказать, что главное окно не активно, а активно диалоговое. Вы могли бы подсказать, как это сделать? Добавлено через 7 минут Точнее, помогло. Не сразу осознал, что заметил отсутствие INITDIALOG только после вашего примера. Добавлено через 35 минут Очень странно. В меню ресурсов, в панели свойств диалогового окна, переключил флажок "Видимое" в состояние True. Теперь окно активируется автоматически. Все работает, как нужно. Только не пойму, почему в вашем проекте и в стандартной заготовке MSVS этот флажок не стоит, но д.окна отображаются корректно. Спасибо.
1
|
19.03.2014, 22:57 | |
Помогаю со студенческими работами здесь
5
Некорректное отображение окна RibbonWindow: некорректное отображение окна Некорректное отображение имени и класса окна в ListBox Некорректное отображение окна в развёрнутом и свёрнутом состояниях Удержание окна с текущими введенными значениями после диалогового окна (с предупреждением) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
|
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
|
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
|
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
|
Подробно о std::mdspan в C++23
stackOverflow 02.03.2025
Работа с многомерными массивами данных традиционно была одной из сложных задач в C++. Программистам приходилось создавать собственные абстракции или использовать сторонние библиотеки для эффективной. . .
|
Колмогоровская сложность в C++: Путь к совершенному коду
stackOverflow 02.03.2025
Абстрактная математическая теория Колмогорова стала мощным средством оценки и улучшения программного кода. Сложность алгоритма - не только в его вычислительной эффективности, но и в том, насколько. . .
|
Изменения в C# 14
stackOverflow 02.03.2025
Одно из самых значимых изменений в C# 14 - поддержка коллекционных выражений, которые позволяют создавать и инициализировать коллекции с помощью нового лаконичного синтаксиса. Это нововведение. . .
|
Разработка кроссплатформенного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
|
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
|
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
|