Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
8-93588
SPeller
2003-09-17 07:56
2004.01.29
Что за формат?


7-93715
Ertong
2003-11-09 09:39
2004.01.29
Программирование в двоичных кодах.


3-93389
belyh
2003-12-30 00:54
2004.01.29
СИМВОЛ в SQL


7-93717
Михаил
2003-11-10 16:42
2004.01.29
Кто-нибудь знает как в ХР можно нажимать программно кнопки?


1-93558
Lony
2004-01-17 14:00
2004.01.29
Папку в Exe





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский