TToggleBox/fi

From Lazarus wiki

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

TToggleBox ttogglebox.png on kaksitilainen tekstillä varustettu painike, joka otetaan käyttöön tai poistetaan käytöstä yhdellä klikkauksella. Se löytyy komponenttipaletin Standard-välilehdeltä.


Missä tahansa lähdekoodissa voidaan tarkistaa sen tila onko se aktiivinen tai passiivinen kyselyllä Status := <ToggleBox>.Checked;. Tämä voidaan tarkistaa Checked ominaisuudesta joka on Boolean arvo. Lisäksi myös arvon liittäminen <ToggleBox>.Checked := True;, on mahdollista.

Yksinkertainen esimerkki

  • Luo uusi sovellus ja pudota kolme TToggleBox-komponenttia lomakkeelle.
  • Muuta niiden (ToggleBox1...3) caption ominaisuudet arvoihin Red, Green ja Blue sekä name ominaisuudet vastaavasti tbRed, tbGreen ja tbBlue.
  • Lisää lomakkeelle TButton ja muuta caption ominaisuus arvoon Paint new ja sen name ominaisuus arvoon btnPaint.
  • Luo OnClick -tapahtumakäsittelijä TButton:lle siirtymällä komponenttimuokkaimen tapahtumatvälilehdelle, valitse OnClick-tapahtuma ja paina [...] -painiketta tai yksinkertaisesti kaksoisklikkaa sitä lomakkeella.
  • Lisää seuraava koodi btnPaint-tapahtuman käsittelijään:
procedure TForm1.btnPaintClick(Sender: TObject);
var
  aColor: TColor;
begin
  aColor:=0;        //Background color of Form1 is set according to the Toggleboxes
  if tbRed.Checked   then aColor:=aColor + $0000FF;
  if tbGreen.Checked then aColor:=aColor + $00FF00;
  if tbBlue.Checked  then aColor:=aColor + $FF0000;
  Color := aColor;  //the change of the property <Formular>.Color causes a redrawing of the form
end;
  • Käynnistä ohjelma, sen pitäisi näyttää tämäntapaiselta:


ToggleBoxExample1.png -> ToggleBoxExample2.png

Käytä tapahtumaa

Ero edelliseen esimerkkiin nähden on, että lomaketta ei maalattaisi uudelleen painikkeen klikkauksella, vaan klikkaamalla yhtä togglebox:a.

Edellistä esimerkkiä voidaan muokata poistamalla painike ja sen OnClick-tapahtumakäsittelijä lähdekoodista. Mutta on myös helppoa, luoda uusi esimerkki:

  • Luo uusi sovellus ja pudota kolme TToggleBox-komponenttia lomakkeelle.
  • Muuta niiden (ToggleBox1...3) caption ominaisuudet arvoihin Red, Green ja Bluesekä name ominaisuudet vastaavasti tbRed, tbGreen ja tbBlue.
  • Luo OnChange-tapahtumakäsittelijä yhdelle ToggleBoxin tapahtumankäsittelijälle esim. TForm1.tbRedChange(Sender: TObject); ja liitä se myös muihin ToggleBoxeihin:
    • Kaksoisklikkaa tbRed lomakkeella tai valitse tbRed lomakkeella ja siirry komponenttimuokkaimen tapahtumien välilehteen, valitse OnChange-tapahtuma ja klikkaa painiketta [...]
    • Se luo proceduren tbRedChange.
    • Valitse tbGreen lomakkeella.
    • siirry komponenttimuokkaimen tapahtumien välilehteen, valitse OnChange tapahtuma ja valitse tbRedChange yhdistelmäruudusta.
    • Valitse nyt lomakkeellasi tbBlue ja tee samoin kuin tbGreen:lle.
  • Siirry OnChange tapahtumaan ja muuta se:
procedure TForm1.tbRedChange(Sender: TObject); 
var
  aColor: TColor; 
begin
  aColor:=0;        //Background color of Form1 is set according to the Toggleboxes
  if ToggleBox1.Checked then aColor:=aColor + $0000FF;
  if ToggleBox2.Checked then aColor:=aColor + $00FF00;
  if ToggleBox3.Checked then aColor:=aColor + $FF0000;
  Color := aColor;  //the change of the property <Formular>.Color causes a redrawing of the form
end;

Katso myös


LCL Components
Component Tab Components
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedButton • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TControlBar • TFlowPanel • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TCoolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier • TDateTimePicker
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TTaskDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid • TDBDateTimePicker
Data Access TDataSource • TBufDataset • TMemDataset • TSdfDataSet • TFixedFormatDataSet • TDbf
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TSimpleIPCServer • TXMLConfig • TEventLog • TServiceManager • TCHMHelpDatabase • TLHelpConnector
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TTimeEdit • TCalcEdit • TFileListBox • TFilterComboBox • TComboBoxEx • TCheckComboBox • TButtonPanel • TShellTreeView • TShellListView • TXMLPropStorage • TINIPropStorage • TJSONPropStorage • TIDEDialogLayoutStorage • TMRUManager • TStrHolder
LazControls TCheckBoxThemed • TDividerBevel • TExtendedNotebook • TListFilterEdit • TListViewFilterEdit • TLvlGraphControl • TShortPathEdit • TSpinEditEx • TFloatSpinEditEx • TTreeFilterEdit • TExtendedTabControl •
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection • TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader
Pascal Script TPSScript • TPSScriptDebugger • TPSDllPlugin • TPSImport_Classes • TPSImport_DateUtils • TPSImport_ComObj • TPSImport_DB • TPSImport_Forms • TPSImport_Controls • TPSImport_StdCtrls • TPSCustomPlugin
SynEdit TSynEdit • 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
Chart TChart • TListChartSource • TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
IPro TIpFileDataProvider • TIpHttpDataProvider • TIpHtmlPanel