şyeri kepengine benzer bir sekilde açilip kapanabilen bir form yaratmak için kullanilabilecek kod örnegi asagidadir. Açilma ve kapanma komutu, bu örnekte baslik alani üzerinde sag fare tusuna basilarak verilmektedir.
uses Printers, Buttons, ShellAPI;
private
{ Private declarations }
FOldHeight : Integer;
procedure WMNCRButtonDown(var Msg : TWMNCRButtonDown);
message WM_NCRBUTTONDOWN;
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldHeight := ClientHeight;
end;
procedure TForm1.WMNCRButtonDown(var Msg : TWMNCRButtonDown);
var
I : Integer;
begin
if (Msg.HitTest = HTCAPTION) then
if (ClientHeight = 0) then
begin
I := 0;
while (I < FOldHeight) do begin
I := I + 40;
if (I > FOldHeight) then
I := FOldHeight;
ClientHeight := I;
Application.ProcessMessages;
end;
end
else
begin
FOldHeight := ClientHeight;
I := ClientHeight;
//kapanma efekti için, I degerini dogrudan "0" a esitlemek
//yerine kademeli olarak azaltabilirsiniz.
I := 0;
ClientHeight := I;
Application.ProcessMessages;
end;
end;