Einzelnen Beitrag anzeigen

PAS_pro

Registriert seit: 6. Nov 2007
4 Beiträge
 
#6

Re: Graphic Control um 90 grad drehen

  Alt 8. Nov 2007, 14:06
Vielen Dank Deep-Sea
für den demo source code, aber leider bringt er nicht den gewünschten Effekt.
Es dreht sich nur der Inhalt der Komponente aber nicht die gesamte Komponente. Ich habe ein kleines demo progrämchen beigefügt, wo du es sehr schön sehen kannst.

und hier der quell code im program:

procedure TForm1.MMLevel1Paint(Sender: TObject);
var
XF: TXForm;
x0, y0: Integer;
q: Double;
begin
x0 := MMLevel1.Width div 2;
y0 := MMLevel1.Height div 2;
q := SpinEdit1.Value / 180 * 3.1415926;

XF.eM11 := cos(q);
XF.eM12 := sin(q);
XF.eM21 := -sin(q);
XF.eM22 := cos(q);
XF.eDx := x0 - cos(q) * x0 + sin(q) * y0;
XF.eDy := y0 - cos(q) * y0 - sin(q) * x0;

With MMLevel1.Canvas do
begin
SetGraphicsMode(Handle, GM_ADVANCED);
SetWorldTransform(Handle, XF);
// Rectangle(x0 - 20, y0 - 10, x0 + 20, y0 + 10);
// habe ich nicht aufgerufen (bringt natürlich auch nichts)
end;

end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
MMLevel1.Repaint;
PaintBox1.Repaint;
end;
Angehängte Dateien
Dateityp: zip project1_167.zip (128,2 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat