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

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

Скрыть заголовок формы [WinXP]


Anar ©   (2002-10-30 16:31:00) 

Как скрыть заголовок формы и чтоб при этом она оставалась трёхмерной. Если сделать BorderStyle None, то форма не имеет 3d краёв. Как сделать трёхмерные края?


Aristarh   (2002-10-30 16:37:00) [1]

procedure ShowTileBar(fmForm: TForm);
var Save: Longint;
Begin
With fmForm do
Begin
if BorderStyle = bsNone then Exit;
Save := GetWindowLong(Handle, GWL_STYLE);
if (Save and WS_CAPTION) <> WS_CAPTION then
begin
case BorderStyle of
bsSingle, bsSizeable:
SetWindowLong(Handle, GWL_STYLE, Save or WS_CAPTION or
WS_BORDER);
bsDialog:
SetWindowLong(Handle, GWL_STYLE, Save or WS_CAPTION or
DS_MODALFRAME or WS_DLGFRAME);
end;
Height := Height + GetSystemMetrics(SM_CYCAPTION);
Refresh;
end;
End;
End;

Procedure HideTileBar(fmForm: TForm);
var Save: Longint;
begin
With fmForm do
Begin
if BorderStyle=bsNone then Exit;
Save := GetWindowLong(Handle, GWL_STYLE);
if (Save and WS_CAPTION) = WS_CAPTION then
begin
case BorderStyle of
bsSingle, bsSizeable:
SetWindowLong(Handle, GWL_STYLE, Save and (not WS_CAPTION) or
WS_BORDER);
bsDialog:
SetWindowLong(Handle, GWL_STYLE, Save and (not WS_CAPTION) or
DS_MODALFRAME or WS_DLGFRAME);
end;
Height := Height-GetSystemMetrics(SM_CYCAPTION);
Refresh;
end;
End;
end;


Наверх

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