Hi,
So wie ich das sehe werden jeweils Pointer als Parameter erwartet. Probier es mal so (Komplett ohne Garantie das es funktioniert!):
Delphi-Quellcode:
procedure TMainForm.Draw;
const
ALPHA = 100;
var
Graphics: TGPGraphics;
GdiPen: TGPPen;
points: Array[0..3] of PGPPoint;
PenR, PenG, PenB: Integer;
Count: Integer; // <---
begin
PenR := GetRValue(clGray); // ps: bei grau ist R=G=B ;)
PenG := GetGValue(clGray); // d.h. PenR = PenG = PenB
PenB := GetBValue(clGray); // d.h. wenn du dir einen Wert holst reicht das ;)
Graphics := TGPGraphics.Create(TChart(Sender).Canvas.Handle);
GdiPen := TGPPen.Create(MakeColor(Alpha, penR, PenG, PenB));
// GdiPen := TGPPen.Create(MakeColor(Alpha, penR, PenR, PenR)); <--- siehe oben
points[0]^.X := xBegin; // <--- die ^ sollte man besser hinschreiben.
points[0]^.Y := y;
points[1]^.X := xEnd;
points[1]^.Y := y;
points[2]^.X := xEnd+xDelay;
points[2]^.Y := y-yDelay;
points[3]^.X := xBegin+xDelay;
points[3]^.Y := y-yDelay;
Count := 4;
Graphics.DrawPolygon(@GdiPen,points[0],@Count);
end;
Könnte auch alles Schwachsinn sein.
EDIT: ca. 156 mal editiert
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."