Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как убрать иконку окна? [D7]


Alex_Y ©   (2007-08-08 08:24:00) 

как убрать иконку окна?


homm   (2007-08-08 11:42:00) [1]

> Если есть CreateParams, значит, есть и BorderIcons.

Может я чего не помню уже, но WinApi вроде нет функций, структур, чего-либо с названием CreateParams.


Однокамушкин   (2007-08-08 11:30:00) [2]


> Юрий Зотов ©   (08.08.07 10:55) [4]
> Не проще ли выставить BorderIcons?

Проще... совсем забыл про это :)


Юрий Зотов   (2007-08-08 11:03:00) [3]

> homm ©   (08.08.07 10:57) [5]

И что?

Если есть CreateParams, значит, есть и BorderIcons. А тогда и незачем стрелять из пушки по воробьям.


homm   (2007-08-08 10:57:00) [4]

> [4] Юрий Зотов ©   (08.08.07 10:55)
> Не проще ли выставить BorderIcons?

Ветка из WinAPI


Юрий Зотов   (2007-08-08 10:55:00) [5]

Не проще ли выставить BorderIcons?


Однокамушкин   (2007-08-08 09:04:00) [6]

Перекройте CreateParams у формы и реализуйте его так:

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.Style := Params.Style and not WS_SYSMENU;
end;


Alex_Y   (2007-08-08 08:58:00) [7]

убрать полностью все кнопки вполне подходит
а как удалить стиль?


Однокамушкин   (2007-08-08 08:45:00) [8]

Самый простой способ - нарисовать полностью прозрачную иконку в Image Editor-е, созхранить её в ico-файл и загрузить его в свойство Icon формы, визуально иконка исчезнет... Но с точки зрения системы она останется, щёлчок на её области всё равно будет приводить к появлению системного меню... Можно убрать стиль WS_SYSMENU из стиля окна, но тогда вместе с иконкой и меню из заголовка уберутся кнопки минимизации, максимизации и закрытия... Если вас это не устраивает, можно имитировать их своими силами, обрабатывая WM_NCPAINT, WM_NCLBUTTONDOWN и т.п. Тут есть полезная функция DrawFrameControl, которая рисует системные кнопки так, как их рисует сама система, надо только поставить правильные размеры (их можно узнать с помощью функции GetSystemMetrics)... Ну или можно найти готовый компонент, который рисует любые кнопки на заголовке и использовать его, когда-то я видел такой на www.toryy.net, кажется, он назывался TWidgetBtn


Наверх

Титульная страница Поиск, карта сайта Написать письмо