Как сделать небольшое окно с тонкой полоской заголовка?
От: jamesq Россия  
Дата: 02.07.25 18:32
Оценка:
Подскажите люди добрые, как с помощью WinAPI создать окошко с тонкой такой полоской заголовка, одной кнопочкой "закрыть", без иконки и системного меню. И чтобы:
— окно не имело бы собственной кнопки на панели задач
— окно могло располагаться где угодно на экране
— окно бы сворачивалось и разворачивалось вместе с главным окном приложения.

Мне нужно сделать что-то вроде вспомогательного окна для toolbox в редакторе, или редактора свойств в Delphi. Будет главное окно приложения, и из него можно открыть это вспомогательное.

Это какие стили окон в CreateWindow() надо использовать или настройки в WNDCLASSEX ?

Всем заранее спасибо.
Re: Как сделать небольшое окно с тонкой полоской заголовка?
От: ononim  
Дата: 02.07.25 18:51
Оценка: +3 :))
J>Это какие стили окон в CreateWindow() надо использовать или настройки в WNDCLASSEX ?
WS_EX_TOOLWINDOW
ЗЫ у меня олдскулы свело
Как много веселых ребят, и все делают велосипед...
Re: Как сделать небольшое окно с тонкой полоской заголовка?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.07.25 18:56
Оценка: +1 -1
Здравствуйте, jamesq, Вы писали:

J>Подскажите люди добрые, как с помощью WinAPI создать окошко с тонкой такой полоской заголовка, одной кнопочкой "закрыть", без иконки и системного меню.


Без лишних кнопок — убрать стили WS_MAXIMIZEBOX и WS_MINIMIZEBOX.

Без иконки — зарегать класс окна с прозрачной иконкой. Возможно, есть что-то типа WM_SETICON или подобное, лень искать, и можно задать пустую иконку произвольному классу. Или это может быть можно сделать через SetWindowLong.

MSDN вроде пишет, что если иконку задавать NULL, то будет дефолтная иконка. Надо проверять.

Без меню — убрать WS_SYSMENU


J>И чтобы:

J> — окно не имело бы собственной кнопки на панели задач

Убрать расширенный стиль WS_EX_APPWINDOW


J> — окно могло располагаться где угодно на экране


Да вроде нет проблем, только за левую и верхнюю границу не вылезти


J> — окно бы сворачивалось и разворачивалось вместе с главным окном приложения.


WS_EX_TOOLWINDOW?
Похоже, именно оно тебе и нужно, я б начал с него


J>Мне нужно сделать что-то вроде вспомогательного окна для toolbox в редакторе, или редактора свойств в Delphi. Будет главное окно приложения, и из него можно открыть это вспомогательное.


J>Это какие стили окон в CreateWindow() надо использовать или настройки в WNDCLASSEX ?


J>Всем заранее спасибо.


Нзч
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.