Anzeigen: Delphi C++
Anzeigeeinstellungen

Stiftstil ändern

Aus RAD Studio XE2
Wechseln zu: Navigation, Suche

Nach oben zu Mit Grafiken und Multimedia arbeiten - Index

Die Eigenschaft Style eines Stiftes bestimmt, ob durchgehende, gestrichelte oder gepunktete Linien usw. gezeichnet werden.

Beim Festlegen der Stifteigenschaften bietet es sich an, zur Behandlung der Ereignisse der verschiedenen Steuerelemente eine gemeinsame Ereignisbehandlungsroutine einzusetzen. Durch Überprüfung des Parameters Sender kann ermittelt werden, welches Steuerelement das Ereignis erhalten hat.

Gehen Sie beispielsweise folgendermaßen vor, um eine OnClick-Ereignisbehandlungsroutine für sechs Stiftstil-Schaltflächen auf der Symbolleiste eines Stiftes zu erzeugen:

  1. Markieren Sie alle sechs Stiftstil-Schaltflächen, und wählen Sie das Ereignis Objektinspektor > Ereignisse > OnClick aus. Geben Sie anschließend in das Feld daneben SetPenStyle ein.Die IDE erzeugt eine leere OnClick-Ereignisbehandlungsroutine namens SetPenStyle und ordnet sie dem Ereignis OnClick aller sechs Schaltflächen zu.
  2. Ergänzen Sie die Ereignisbehandlungsroutine um Anweisungen, die den Schriftstil zuweisen. Jede Zuweisung hängt vom Wert des Parameters Sender ab, der das Steuerelement bezeichnet, von dem das Ereignis ausgelöst wurde:
 procedure TForm1.SetPenStyle(Sender: TObject);
 begin
 with Canvas.Pen do
 begin
 if Sender = SolidPen then Style := psSolid
 else if Sender = DashPen then Style := psDash
 else if Sender = DotPen then Style := psDot
 else if Sender = DashDotPen then Style := psDashDot
 else if Sender = DashDotDotPen then Style := psDashDotDot
 else if Sender = ClearPen then Style := psClear;
 end;
 end;
 void __fastcall TForm1::SetPenStyle(TObject *Sender)
 {
   if (Sender == SolidPen)
     Canvas->Pen->Style = psSolid;
   else if (Sender == DashPen)
     Canvas->Pen->Style = psDash;
   else if (Sender == DotPen)
     Canvas->Pen->Style = psDot;
   else if (Sender == DashDotPen)
     Canvas->Pen->Style = psDashDot;
   else if (Sender == DashDotDotPen)
     Canvas->Pen->Style = psDashDotDot;
 '  else if (Sender == ClearPen)
     Canvas->Pen->Style = psClear;
 }
 void __fastcall TForm1::SetPenStyle(TObject *Sender)
 {
   if (Sender->InheritsFrom (__classid(TSpeedButton))
     Canvas->Pen->Style = (TPenStyle) ((TSpeedButton *)Sender)->Tag;
 }


Siehe auch

Frühere Versionen
In anderen Sprachen