Einzelnen Beitrag anzeigen

Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#7

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 20:54
Achso! Dann war ich ja vollkommen falsch...
Dann probier mal folgendes:

Delphi-Quellcode:
var IsMouseDown : Boolean;
    PanelNr : Integer = 0;
    xk,yk : Integer;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
xk := x;
yk := y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
IF IsMouseDown = true THEN
begin

Inc(PanelNr);
  With TPanel.Create(Form1) do
    begin
      Parent := Form1;
      Name := 'Panel' + IntToSTr(PanelNr);
      Left := xk;
      Top := yk;
      Width := x-xk;
      Height := y-yk;
    end;

IsMouseDown := False;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IsMouseDown := true;
end;
Wenn du auf Button1 klickst, wird eine Variable auf True gesetzt, die dem programm sagt, dass es beim nächsten aufziehen (Rahmenziehen) der Maus ein Panel zeichnen soll. Bei einem MouseDown werden die aktuellen Koordinaten gemerkt und bei MouseUp wird mit den gemerkten und den aktuellen Koordinaten ein Panel gezeichnet. (dynamisch erstellt)

Hattest du das so gemeint?

[EDIT] Das macht natürlich noch keinen visuellen Rahmen [/EDIT]
  Mit Zitat antworten Zitat