Вниз
Скачать: CL | DM;

Как нарисовать свой заголовок формы??   Найти похожие ветки 

 
Veon   (2004-01-15 22:54) [0]

Делаю BorderStyle=bsNone, но тогда нельзя изменить размеры... а хотелось бы


 
Юрий Зотов ©   (2004-01-15 23:02) [1]

Два варианта. Сам не проверял, но попробовать стоит - тем более, что это недолго.

Вариант 1. Не ставить BorderStyle, а в CreateParams убрать из стилей окна WS_CAPTION.

Вариант 2. Посмотрите сообщение WM_NCHITTEST. Если, например, вернуть HTCAPTION, то система будет думать, что мышь находится над заголовком окна (и поведет себя сответственно). Аналогично и для рамок окна. Детали - в справке API.


 
Yr2   (2004-01-15 23:49) [2]

Первым делом надо убрать заголовок формы и перерисовать её:

procedure TForm1.FormCreate(Sender: TObject);
begin
windows.SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not WS_CAPTION);
windows.SetWindowPos(Handle, HWND_TOP,Left, Top,Width, Height, SWP_FRAMECHANGED);
end;

так как Вы не сказали, что Вы хотите иметь в "своём" заголовке, то и не описываю... а там придётся, видимо, добавить кнопки закрытия/открытия, сделать перемещение формы с помощью мыши и т.д...


 
Veon   (2004-01-16 00:12) [3]


> так как Вы не сказали, что Вы хотите иметь в "своём" заголовке

Я хочу синий красивый горизонтальный градиент, и возможности стандартного заголовка... (и при этом ничего не писать... ну хотя бы лишнего)


 
Юрий Зотов ©   (2004-01-16 00:25) [4]

> Veon (16.01.04 00:12) [3]

DrawCaption. Еще может пригодиться DrawFrameControl.

Но на легкую жизнь не рассчитывайте. Это будет не заголовок, а только его рисунок, поэтому всю мышь Вам придется обрабатывать самому.

> Я хочу синий красивый горизонтальный градиент, и возможности
> стандартного заголовка... (и при этом ничего не писать...

А я хочу белый красивый бронированный мерседес и возможности американского президента... (и при этом ничего не делать...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-93352
mail
2004-01-03 14:42
2004.01.29
Paradox - пробелы в названии полей


6-93618
Andersen
2003-11-25 16:49
2004.01.29
DNS - сервер


1-93448
NewZed
2004-01-15 21:34
2004.01.29
Стиль XP


1-93504
Кен
2004-01-16 02:34
2004.01.29
Чем лучше запаковать программу, чтобы враги не распаковали ?


1-93434
Bers01
2004-01-16 15:17
2004.01.29
Создание компонентов run-time




   Наверх