TToggleBox/de

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) français (fr)

Diese Seite erklärt, wie man die TToggleBox Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtsklick wird explizit erwähnt.

Beschreibung

Ein Schriftfeld, das aktiviert oder deaktiviert ist. Es ähnelt einem TButton, allerdings wird es mit einem Klick aktiviert oder deaktiviert.

Comp Standard TToggleBox.png

Verwendung

Um eine TToggleBox auf einem Formular zu nutzen, kann man es einfach auf der Komponentenpalette Standard auswählen und, mit einem Klick auf das Formular, platzieren.
Sie können überall in Ihrem Quellcode den Status der ToggleBox, ob aktiv oder inaktiv, mit Status := <ToggleBox>.Checked; abfragen. Dabei können Sie Checked wie ein normalen Boolean benutzen. Somit ist auch die Zuweisung <ToggleBox>.Checked := True; möglich.

Ein einfaches Beispiel

  • Erstellen Sie eine neue Anwendung und legen Sie auf dem Formular drei TToggleBoxen ab.
  • Ändern Sie die Captions von ToggleBox1..3 zu Rot, Grün und Blau und deren Namen zu tbRed, tbGreen und tbBlue.
  • Fügen Sie Ihrem Formular noch ein TButton hinzu und ändern seine Beschriftung (Caption) zu Neu Zeichnen und seinen Namen zu btnPaint.
  • Erstellen Sie den OnClick Eventhandler für den TButton, indem Sie im Objektinspektor auf den Reiter Ereignisse klicken, das Ereignis OnClick auswählen und den Button [...] klicken oder den Button im Formular doppelklicken.
  • Fügen Sie folgenden Code hinzu:
procedure TForm1.btnPaintClick(Sender: TObject);
var
  aColor: TColor;
begin
  aColor:=0;        //Hintergrundfarbe von Form1 wird entsprechend der Toggleboxen festgelegt
  if tbRed.Checked   then aColor:=aColor + $0000FF;
  if tbGreen.Checked then aColor:=aColor + $00FF00;
  if tbBlue.Checked  then aColor:=aColor + $FF0000;
  Color := aColor;  //die Änderung der Eigenschaft <Formular>.Color bewirkt ein Neuzeichnen des Formulars
end;
  • Starten Sie Ihr Programm, es sollte ungefähr so aussehen:

ToggleBoxExample1.png -> ToggleBoxExample2.png

Verwendung eines Ereignisses

Der Unterschied zu dem vorherigen Beispiel besteht darin, dass wir das Formular nicht über einen Buttonklick neu zeichnen lassen, sondern schon durch das Anklicken eines der ToggleBoxen selber.

Sie können das vorhergehende Beispiel modifizieren, indem Sie den Button und dessen OnClick-Eventhandler im Quelltext löschen. Sie können aber auch einfach ein neues Beispiel erstellen:

  • Erstellen Sie eine neue Anwendung und legen Sie auf dem Formular drei TToggleBoxen ab.
  • Ändern Sie die Captions von ToggleBox1..3 zu Rot, Grün und Blau und deren Namen zu tbRed, tbGreen und tbBlue.
  • Erstellen Sie einen OnChange-Eventhandler für eine der ToggleBoxen z.B. TForm1.tbRedChange(Sender: TObject); und verbinden Sie die anderen ToggleBoxen ebenfalls mit dieser:
    • Doppelklicken Sie tbRed auf dem Formular oder wählen Sie tbRed auf Ihrem Formular an und gehen Sie in den Objektinspektor auf den Reiter Ereignisse, wählen Sie das Ereignis OnChange und klicken Sie auf den Button [...].
    • Es wird die Procedure tbRedChange erstellt.
    • Jetzt wählen Sie tbGreen auf Ihrem Formular an.
    • Gehen Sie in den Objektinspektor auf den Reiter Ereignisse, wählen Sie das Ereignis OnChange und wählen daneben in der Combobox tbRedChange aus.
    • Jetzt wählen Sie tbBlue auf Ihrem Formular an und verfahren, wie eben mit tbGreen.
  • Lassen Sie im Eventhandler OnChange der ToggleBoxen die Farben des Formulars, gemäß <ToggleBox>.Checked, ändern:
procedure TForm1.tbRedChange(Sender: TObject); 
var
  aColor: TColor; 
begin
  aColor:=0;        //Hintergrundfarbe von Form1 wird entsprechend der Toggleboxen festgelegt
  if ToggleBox1.Checked then aColor:=aColor + $0000FF;
  if ToggleBox2.Checked then aColor:=aColor + $00FF00;
  if ToggleBox3.Checked then aColor:=aColor + $FF0000;
  Color := aColor;  //die Änderung der Eigenschaft <Formular>.Color bewirkt ein Neuzeichnen des Formulars
end;

Siehe auch

TButton - Verwendung von Buttons
TCheckBox - Verwendung von CheckBoxen
TRadioButton - Verwendung von RadioButtons



Gehe zurück zu: LCL Components  — Komponente zuvor: TMemo/de Nächste Komponente: TCheckBox/de
LCL Komponenten
Komponenten Tab Komponenten
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedBtn • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TXMLConfig • TEventLog • TServiceManager
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TCalcEdit • TFileListBox • TFilterComboBox • TXMLPropStorage • TINIPropStorage • TBarChart • TButtonPanel • TShellTreeView • TShellListView • TIDEDialogLayoutStorage
Data Access TDatasource • TBufDataset • TMemDataset • TSdfDataset • TFixedFormatDataSet • TDbf
SynEdit TSynEdit • TSynMemo • TSynCompletion • TSynAutoComplete • TSynMacroRecorder • TSynExporterHTML • TsynPluginSyncroEdit • TSynPasSyn • TSynFreePascalSyn • TSynCppSyn • TSynJavaSyn • TSynPerlSyn • TSynHTMLSyn • TSynXMLSyn • TSynLFMSyn • TSynDiffSyn • TSynUNIXShellScriptSyn • TSynCssSyn • TSynPHPSyn • TSynTeXSyn • TSynSQLSyn • TSynPythonSyn • TSynVBSyn • TSynAnySyn • TSynMultiSyn • TSynBatSyn • TSynIniSyn • TSynPoSyn
LazControls TDividerBevel • TExtendedNotebook • TListFilterEdit • TTreeFilterEdit
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
IPro TIpFileDataProvider • TIpHtmlPanel
Chart TChart • TListChartSource TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection •TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader

--Michl 22:03, 19 May 2014 (CEST)