Anzeigen: Delphi
C++
Anzeigeeinstellungen
Stiftstil ändern
Aus RAD Studio XE2
Nach oben zu Mit Grafiken und Multimedia arbeiten - Index
Nach oben zu C++Builder-Entwicklerhandbuch
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:
- 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.
- 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; }