13. maj 2001 - 00:38Der er
4 kommentarer og 1 løsning
Resize Form
Her en en rigtig svær en (jeg giver sgu gerne flere point hvis det bliver nødvendigt!)
Jeg har en form uden nogen borders, og så ved de fleste godt at man ikke sådan kan resize denne. Men er der nogen som ved hvordan, ved fx at trække i et TPanel, ændre formens størrelse, på sammen måde som med alle andre vinduer?
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
Er er et ret primitivt eksempel uden nogen særlige API kald eller lign. Grunden til at det fylder så meget er at der er taget hensyn til om man trækker i bunden, højre eller begge kanter.
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ((x > form1.clientwidth-5) and (y > form1.clientheight-5)) then but:=1 else if (x > form1.clientwidth-5) then but:=2 else if (y > form1.clientheight-5) then but:=3; end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ((x > form1.clientwidth-5) and (y > form1.clientheight-5)) then form1.cursor:=crSizeNWSE else if (x > form1.clientwidth-5) then form1.cursor:=crSizeWE else if (y > form1.clientheight-5) then form1.cursor:=crSizeNS else form1.cursor:=crDefault; end;
procedure TForm1.Idle(Sender: TObject; var Done: Boolean); var p: TPoint; begin done:=false;
GetCursorPos(p); case but of 1: begin form1.width:=p.x-form1.left; form1.height:=p.y-form1.top; end; 2: form1.width:=p.x-form1.left; 3: form1.height:=p.y-form1.top; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin Application.OnIdle:=Idle; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.