TSplitter/ja

From Lazarus wiki
Jump to navigationJump to search

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

A TSplitter tsplitter.png はサブパネルを機能的に分離するための垂直、あるいは水平の棒である。

このコントロールはフォームを視覚的に2つに分離するために用いられ、アプリケーションを垂直、または水平に移動することを可能とする。これはComponent PaletteAdditional tabにある。

TSplitterは基本的に2つの異なるモードを持つ。Align (Delphi 式)とAnchorSides(Delphiではサポートされない)である。

Splitter と並び

並びは2つのコントロール、またはコントロールの行のような多くの簡便なレイアウトに用いることができる。例えば、メモやリストボックスのように自由にサイズが変更できるあるコントロールが必要な時である。

以下はこれをデモしている。

設計時

  1. 新しいformを作る
  2. TMemoをフォームに配置する(TMemoアイコンをコンポーネントパレットで左クリックして選択しフォームに左クリックして配置)。
  3. オブジェクトインスペクタ でMemo1をalLeftに設定する。
  4. フォームにTSplitterを配置。
  5. デフォルトの並びはすでにalLeftとなっている。
  6. もう1つのTMemoをフォームに配置する。
  7. オブジェクトインスペクタでMemo2をalClientに設定する。

実行時

オブジェクトインスペクタのデザイナに代わって上記と同じアクションをコードで行うこともできる:

procedure TMainForm.FormCreate(Sender: TObject);
var
  Memo1: TMemo;
  Splitter1: TSplitter;
  Memo2: TMemo;
begin
  Memo1:=TMemo.Create(Self);
  with Memo1 do begin
    Name:='Memo1';
    Parent:=Self;
    Align:=alLeft;
  end;
  Splitter1:=TSplitter.Create(Self);
  with Splitter1 do begin
    Name:='Splitter1';
    Parent:=Self;
    Left:=1; // Memo1の配置を左へ
    Align:=alLeft;
  end;
  Memo2:=TMemo.Create(Self);
  with Memo2 do begin
    Name:='Memo2';
    Parent:=Self;
    Align:=alClient;
  end;
end;

アンカーサイドを持つSplitter

アンカーサイドはより調整されたレイアウトを可能にする。並びはすべての余地を埋める。アンカーサイドは他のどの姉妹コントロールにもつけられる。

設計時

  1. 新しいformを作る
  2. TMemo をフォームに配置する(TMemoアイコンをコンポーネントパレットで左クリックして選択しフォームに左クリックして配置)。
  3. オブジェクトインスペクタ でMemo1をalLeftに設定する。
  4. フォームにTSplitterを配置。
  5. Splitter1の並びのプロパティをalNoneとする。
  6. Memo1を選択
  7. ビュー -> アンカーエディタ
  8. Memo1の右側にSplitter1に対してアンカーを置く。
  9. 別のTMemoをフォームに配置。
  10. Memo2の並びのプロパティをalRightとする。
  11. Splitter1に対してMemo2の左側にアンカーを置く。Splitter1の右側にアンカーすることを忘れないこと(コンボボックス下のアンカーエディタ上にボタンがつく)。.

実行時

オブジェクトインスペクタのデザイナに代わって上記と同じアクションをコードで行うこともできる:

procedure TMainForm.FormCreate(Sender: TObject);
var
  Memo1: TMemo;
  Splitter1: TSplitter;
  Memo2: TMemo;
begin
  Memo1:=TMemo.Create(Self);
  with Memo1 do begin
    Name:='Memo1';
    Parent:=Self;
    Align:=alLeft;
  end;
  Splitter1:=TSplitter.Create(Self);
  with Splitter1 do begin
    Name:='Splitter1';
    Parent:=Self;
    Align:=alNone;
    Left:=100; // 同じ値
    AnchorParallel(akBottom,0,Parent);
  end;
  Memo1.AnchorToNeighbour(akRight,0,Splitter1);
  Memo2:=TMemo.Create(Self);
  with Memo2 do begin
    Name:='Memo2';
    Parent:=Self;
    Align:=alRight;
    AnchorToNeighbour(akLeft,0,Splitter1);
  end;
end;

Splitterの色

デフォルトでTSplitterは色付けされている。そのため色彩プロパティを割り当てることは色には影響しない。しかしダミーのOnPaintイベントでテーマカラーは無効にできる。

  Splitter1.OnPaint:= @SplitterOnPaintDummy;
  Splitter1.Color:= clGreen;
  ....
     
procedure TfmMain.SplitterOnPaintDummy(Sender: TObject);
begin
  //空にする。テーマカラーを無効にする
end;

以下も参照のこと


LCL Components
Component Tab Components
Standard/ja TMainMenu/ja • TPopupMenu/ja • TButton/ja • TLabel/ja • TEdit/ja • TMemo/ja • TToggleBox • TCheckBox/ja • TRadioButton/ja • TListBox/ja • TComboBox/ja • TScrollBar/ja • TGroupBox/ja • TRadioGroup/ja • TCheckGroup/ja • TPanel/ja • TFrame/ja • TActionList/ja
Additional TBitBtn/ja • TSpeedButton/ja • TStaticText/ja • TImage/ja • TShape/ja • TBevel/ja • TPaintBox/ja • TNotebook/ja • TLabeledEdit/ja • TSplitter/ja • TTrayIcon/ja • TControlBar/ja • TFlowPanel/ja • TMaskEdit/ja • TCheckListBox/ja • TScrollBox/ja • TApplicationProperties/ja • TStringGrid/ja • TDrawGrid/ja • TPairSplitter/ja • TColorBox/ja • TColorListBox/ja • TValueListEditor/ja
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/ja • TDBText/ja • TDBEdit/ja • TDBMemo/ja • TDBImage/ja • TDBListBox/ja • TDBLookupListBox/ja • TDBComboBox/ja • TDBLookupComboBox/ja • TDBCheckBox/ja • TDBRadioGroup/ja • TDBCalendar/ja • TDBGroupBox/ja • TDBGrid/ja • TDBDateTimePicker/ja
Data Access TDataSource/ja • TCSVDataSet/ja • TSdfDataSet/ja • TBufDataset/ja • TFixedFormatDataSet/ja • TDbf/ja • TMemDataset/ja
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/ja • TSQLTransaction/ja • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection • TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TMySQL57Connection • TSQLite3Connection/ja • 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 • TIpHtmlDataProvider • TIpHttpDataProvider • TIpHtmlPanel
Virtual Controls TVirtualDrawTree • TVirtualStringTree • TVTHeaderPopupMenu