Einzelnen Beitrag anzeigen

GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#1

Paint nachprogrammieren

  Alt 27. Aug 2015, 09:16
Delphi-Version: 5
Guten Morgen liebe Delphi Gemeinde,

Ich brauch mal wieder die Hilfe von euch. Ich bin dabei ein Paint Programm zu schreiben bin auch ganz gut dabei und komme immer besser klar. Mein Problem: Er malt schon wenn ich die maus bewege möchte das aber nur mit Linksklick haben. //Ist das dann nur die procedure auf onClick umschreiben?
Er Startet ausserdem bei den Koordinaten (0,0) Sprich oben links der Paintbox.
Wichtiger wäre das erste Problem.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, cxGraphics, cxLookAndFeels, cxLookAndFeelPainters,
  Menus, ImgList, StdCtrls, cxButtons;

type
  TForm1 = class(TForm)
    Zeichenflaeche: TPaintBox;
    Panel: TPanel;
    FarbeBTN: TcxButton;
    cxButton1: TcxButton;
    cxImageList1: TcxImageList;
    procedure ZeichenflaechePaint(Sender: TObject);
    procedure ZeichenflaecheMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure ZeichenflaecheMouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
  private
    { Private-Deklarationen }
    Draw : boolean;
    BeginP : TPoint;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ZeichenflaechePaint(Sender: TObject);
begin
  Zeichenflaeche.Canvas.Brush.Color := clWhite;
  Zeichenflaeche.Canvas.FillRect(Zeichenflaeche.ClientRect);
end;

procedure TForm1.ZeichenflaecheMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  begin
  draw := true;
  BeginP.X := X;
  BeginP.Y := Y;

end;

procedure TForm1.ZeichenflaecheMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var pt: TPoint;
begin
  if draw then
  begin
    pt := Mouse.CursorPos;
    Zeichenflaeche.Canvas.lineTo(x,y);
  end;
end;

end.
Julian
  Mit Zitat antworten Zitat