delphi-tips icon indicating copy to clipboard operation
delphi-tips copied to clipboard

New tip: Animated roll down form

Open delphidabbler opened this issue 2 years ago • 0 comments

Possible new tip from extra/Topelina Tips.odt


formRolling

Creating a roll up form (with animation).

Here's a handy piece of code that will create a roll-down and roll-up effect for a form object when a user right-clicks its title bar:

type
   TForm1 = class(TForm)
   private
    fOldClientHeight: Integer;
    procedure WMNCRButtonDown(var Msg: TWMNCRButtonDown) ; message WM_NCRBUTTONDOWN;
   public
   end;

var
   Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.WMNCRButtonDown(var Msg: TWMNCRButtonDown) ;
var
   h : integer;
begin
   if (Msg.HitTest = HTCAPTION) then
   begin
     if (ClientHeight = 0) then
     begin
       for h := 0 to fOldClientHeight do ClientHeight := h;
       Application.ProcessMessages;
     end
     else
     begin
       fOldClientHeight := ClientHeight;
       for h := fOldClientHeight downto 0 do ClientHeight := h;
       Application.ProcessMessages;
     end;
   end;
end;

Contributed by: topellina [email protected]

delphidabbler avatar Nov 19 '22 01:11 delphidabbler