Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: PaintBoxRaster

  Alt 4. Jan 2014, 13:01
So, jetzt, ja, eine Insel.

Stimmt. Anders ist das ja gar nicht zu machen.

Ich hab jetzt auch nochmal den Weg eines Fangpunktes von der Berechnung zur Gui und wieder zurück verfolgt (Wahnsinn, kenn mich in meinem eigenen Code fast schon wieder nicht aus). Hab aber gesehen, daß ich da noch n Bock drin hab, weil die Gui daraus temporär (zur Anzeige) einen TPoint macht und den wieder (in mm umgerechnet) zurück an die Komponente liefert und genau das geht natürlich nicht. Das zerstört die Genauigkeit.

Ich werd jetzt zur Kommunikation von Gui und Komponente einen neuen Typ einführen. Falls OwnerDraw ist der Punkt durch die Komponente berechnet worden (z.B. Fangpunkt), falls nicht dann kommt der Punkt vom User z.B. via MouseDown /MouseMove.
Delphi-Quellcode:
  TCadFloatPoint = record
    X1, Y1: integer; // CanvasPoint, OwnerDraw FALSE expected;
    MMX1, MMY1: double; // MMComponentFloatPoint, OwnerDraw TRUE expected;
    OwnerDraw: boolean;
    procedure CanvasPointToComponentMMFloatPoint; // X1,Y1 TO MMX1,MMY1;
    procedure MMComponentFloatPointToCanvasPoint;// OwnerDraw: MMX1,MMY1 TO X1,Y1;
    procedure Clear;
  end;
  Mit Zitat antworten Zitat