Sign in Join
Wiki copytemporary

Revision 1 of 1, by WikiArchive on 11-10-2026. The page as it is now.

TSplitter/ja

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

このコントロールはフォームを視覚的に2つに分離するために用いられ、アプリケーションを垂直、または水平に移動することを可能とする。これはComponent PaletteのAdditional 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に設定する。

実行時

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

pascal
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の右側にアンカーすることを忘れないこと(コンボボックス下のアンカーエディタ上にボタンがつく)。.

実行時

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

pascal
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イベントでテーマカラーは無効にできる。

pascal
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

From the Free Pascal wiki, page "TSplitter/ja", as the Internet Archive kept it on 2025-05-15, last changed on 2024-09-23. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.