|
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 4
|
|
Непонятки в работе окна14.11.2017, 18:24. Показов 984. Ответов 5
Метки нет (Все метки)
При изучении WinAPI стало не ясно как можно обойти пару проблем в работе с окном. Хотелось бы в этом разобраться.
1)Допустим, я хочу чтобы окно при создании было свернуто сразу в трей. Интернет подсказывает, что лучший способ для этого, это присваивание функции CreateWindow параметр hWndParent = HWND_MESSAGE. Теперь мне захотелось окно отобразить, есть ли способ способ это сделать? 2)Продолжение 1. Если hWndParent = NULL при создании окна, то оно отобразится. Но нужно, чтобы окно при старте было в трее. Если его прятать туда во время WM_CREATE, то при запуске оно "мигнет" на экране. Можно ли этого избежать, не используя HWND_MESSAGE. 3)Главное окно имеет на панели задач иконку. Если же вызвать диалоговое окно, например для настроек чего-то, то оно таковой иконки не имеет. Как сделать, чтобы при запуске диалогового окна появлялась иконка на панели задач (как, например, для MessageBox)?
0
|
|
| 14.11.2017, 18:24 | |
|
Ответы с готовыми решениями:
5
Raspberry непонятки при работе с COM устройством Непонятки при работе с ком-портом таймера TIM2,3,4 F205, непонятки в работе (сбивается период) |
|
Software Developer
315 / 229 / 113
Регистрация: 03.05.2017
Сообщений: 1,336
|
||||||||||||
| 15.11.2017, 12:55 | ||||||||||||
|
Делаем так: в функции WinMain, после создания окна, всегда вызывается функция ShowWindow, где в первом параметре указывается дескриптор созданного окна, а во втором параметре указывается одна из констант: SW_HIDE - Скрывает окно и активизирует другое окно SW_MAXIMIZE - Максимизирует окно SW_MINIMIZE - Сворачивает окно и активизирует расположенное под ним окно SW_RESTORE - Восстанавливает свернутое окно SW_SHOW - Активизирует окно в текущих размерах и позиции SW_SHOWMAXIMIZED - Активизирует окно в максимально распахнутом виде SW_SHOWMINIMIZED - Активизирует окно в свернутом виде SW_SHOWMINNOACTIVE - Сворачивает окно SW_SHOWNA - Показывает состояние окна SW_SHOWNOACTIVATE - Показывает окно в текущих координатах SW_SHOWNORMAL - Активизирует и отображает окно в первоначальных размерах и позиции то есть вам нужно - SW_HIDE І для третьего пункта: main.cpp
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 4
|
|
| 15.11.2017, 14:52 [ТС] | |
|
Да? действительно, спрятал начальную инициализацию в класс и не заметил, что так можно. А голова чет-на такое не сработала.
А вот с диалогом непонятно. Я попробую вызвать диалог из оконной процедуры и картинки нет. А вот если же диалог вызвать из WinMain, то иконка действительно появляется на панели задач. И в догонку вопрос. Если главное окно делать диалоговым, как тут можно сразу его прятать в трей и чтобы оно не мерцало? Ведь тут нет никакого ShowWindow?
0
|
|
|
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 4
|
||||||
| 16.11.2017, 19:24 [ТС] | ||||||
|
decrement, и да, я попробовал вариант для диалогового окна, даже в таком случае иконка не меняется. Да, иконка на панели задач появляется, но отображается как "битая картинка". Пробовал ваш пример и написать по своему. В качестве картинки использовал IDI_APPLICATION.
0
|
||||||
|
Software Developer
315 / 229 / 113
Регистрация: 03.05.2017
Сообщений: 1,336
|
||||||||||||||||||
| 16.11.2017, 20:07 | ||||||||||||||||||
для стандартных иконок нужно делать так
у меня и на панели задач и маленькая иконка в окне появляется) и в проводнику на ехешнику (проводник ставит первую подходящую иконку которая есть в ресурсах) попробуйте ещё так:
1
|
||||||||||||||||||
|
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 4
|
||||||
| 16.11.2017, 22:04 [ТС] | ||||||
|
decrement, действительно, такой вариант заработал
0
|
||||||
| 16.11.2017, 22:04 | |
|
Помогаю со студенческими работами здесь
6
Мерцание окна при работе макроса При работе в Chrome выскакивают окна Всплывающие окна при работе во всех браузерах всплывающие окна при работе во всех браузерах Периодическое открытие нового окна IE при работе в WebBrowser Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|