Вы можете попробовать следующее:
procedure TForm1.HideTitlebar;
var
Save : Longint;
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;
procedure TForm1.ShowTitlebar;
var
Save : Longint;
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;