Sign in Join
Wiki copytemporary

TSplitter/ja: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: TSplitter/ja

OldNewLine
1+A [[TSplitter]] [![tsplitter.png](/wiki-images/e/e6/tsplitter.png)](</File:tsplitter.png>) はサブパネルを機能的に分離するための垂直、あるいは水平の棒である。
2+
3+このコントロールはフォームを視覚的に2つに分離するために用いられ、アプリケーションを垂直、または水平に移動することを可能とする。これは[[Component Palette]]の[[Additional tab]]にある。
4+
5+TSplitterは基本的に2つの異なるモードを持つ。[[Autosize / Layout|Align]] ([[Delphi]] 式)と[[Autosize / Layout|AnchorSides]](Delphiではサポートされない)である。
6+
7+## Splitter と並び
8+
9+並びは2つのコントロール、またはコントロールの行のような多くの簡便なレイアウトに用いることができる。例えば、メモやリストボックスのように自由にサイズが変更できるあるコントロールが必要な時である。
10+
11+以下はこれをデモしている。
12+
13+### 設計時
14+
15+ 1. 新しい[[TForm|form]]を作る
16+ 2. [[TMemo]]をフォームに配置する(TMemoアイコンをコンポーネントパレットで左クリックして選択しフォームに左クリックして配置)。
17+ 3. [[IDE Window: Object Inspector/ja|オブジェクトインスペクタ]] でMemo1を`alLeft`に設定する。
18+ 4. フォームにTSplitterを配置。
19+ 5. デフォルトの並びはすでに`alLeft`となっている。
20+ 6. もう1つのTMemoをフォームに配置する。
21+ 7. オブジェクトインスペクタでMemo2を`alClient`に設定する。
22+
23+### [[runtime|実行時]]
24+
25+オブジェクトインスペクタのデザイナに代わって上記と同じアクションをコードで行うこともできる:
26+```
27+procedure TMainForm.FormCreate(Sender: TObject);
28+ var
29+ Memo1: TMemo;
30+ Splitter1: TSplitter;
31+ Memo2: TMemo;
32+ begin
33+ Memo1:=TMemo.Create(Self);
34+ with Memo1 do begin
35+ Name:='Memo1';
36+ Parent:=Self;
37+ Align:=alLeft;
38+ end;
39+ Splitter1:=TSplitter.Create(Self);
40+ with Splitter1 do begin
41+ Name:='Splitter1';
42+ Parent:=Self;
43+ Left:=1; // Memo1の配置を左へ
44+ Align:=alLeft;
45+ end;
46+ Memo2:=TMemo.Create(Self);
47+ with Memo2 do begin
48+ Name:='Memo2';
49+ Parent:=Self;
50+ Align:=alClient;
51+ end;
52+ end;
53+```
54+
55+## アンカーサイドを持つSplitter
56+
57+アンカーサイドはより調整されたレイアウトを可能にする。並びはすべての余地を埋める。アンカーサイドは他のどの姉妹コントロールにもつけられる。
58+
59+### 設計時
60+
61+ 1. 新しい[[TForm|form]]を作る
62+ 2. [[TMemo]] をフォームに配置する(TMemoアイコンをコンポーネントパレットで左クリックして選択しフォームに左クリックして配置)。
63+ 3. [[IDE Window: Object Inspector/ja|オブジェクトインスペクタ]] でMemo1を`alLeft`に設定する。
64+ 4. フォームにTSplitterを配置。
65+ 5. Splitter1の並びのプロパティを`alNone`とする。
66+ 6. Memo1を選択
67+ 7. ビュー -> アンカーエディタ
68+ 8. Memo1の右側にSplitter1に対してアンカーを置く。
69+ 9. 別のTMemoをフォームに配置。
70+ 10. Memo2の並びのプロパティを`alRight`とする。
71+ 11. Splitter1に対してMemo2の左側にアンカーを置く。Splitter1の右側にアンカーすることを忘れないこと(コンボボックス下のアンカーエディタ上にボタンがつく)。.
72+
73+### 実行時
74+
75+オブジェクトインスペクタのデザイナに代わって上記と同じアクションをコードで行うこともできる:
76+```
77+procedure TMainForm.FormCreate(Sender: TObject);
78+ var
79+ Memo1: TMemo;
80+ Splitter1: TSplitter;
81+ Memo2: TMemo;
82+ begin
83+ Memo1:=TMemo.Create(Self);
84+ with Memo1 do begin
85+ Name:='Memo1';
86+ Parent:=Self;
87+ Align:=alLeft;
88+ end;
89+ Splitter1:=TSplitter.Create(Self);
90+ with Splitter1 do begin
91+ Name:='Splitter1';
92+ Parent:=Self;
93+ Align:=alNone;
94+ Left:=100; // 同じ値
95+ AnchorParallel(akBottom,0,Parent);
96+ end;
97+ Memo1.AnchorToNeighbour(akRight,0,Splitter1);
98+ Memo2:=TMemo.Create(Self);
99+ with Memo2 do begin
100+ Name:='Memo2';
101+ Parent:=Self;
102+ Align:=alRight;
103+ AnchorToNeighbour(akLeft,0,Splitter1);
104+ end;
105+ end;
106+```
107+
108+## Splitterの色
109+
110+デフォルトでTSplitterは色付けされている。そのため色彩プロパティを割り当てることは色には影響しない。しかしダミーのOnPaintイベントでテーマカラーは無効にできる。
111+```
112+Splitter1.OnPaint:= @SplitterOnPaintDummy;
113+ Splitter1.Color:= clGreen;
114+ ....
115+
116+ procedure TfmMain.SplitterOnPaintDummy(Sender: TObject);
117+ begin
118+ //空にする。テーマカラーを無効にする
119+ end;
120+```
121+
122+## 以下も参照のこと
123+
124+ * [TSplitter doc](<http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tsplitter.html> "doc:lcl/extctrls/tsplitter.html")
125+ * [[TPairSplitter]]
126+
127+
128+
129+[[LCL Components/ja|LCL Components]] Component Tab | Components
130+---|---
131+[[Standard tab/ja|Standard/ja]] | [[TMainMenu/ja]] • [[TPopupMenu/ja]] • [[TButton/ja]] • [[TLabel/ja]] • [[TEdit/ja]] • [[TMemo/ja]] • [[TToggleBox/ja|TToggleBox]] • [[TCheckBox/ja]] • [[TRadioButton/ja]] • [[TListBox/ja]] • [[TComboBox/ja]] • [[TScrollBar/ja]] • [[TGroupBox/ja]] • [[TRadioGroup/ja]] • [[TCheckGroup/ja]] • [[TPanel/ja]] • [[TFrame/ja]] • [[TActionList/ja]]
132+[[Additional tab|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]]
133+[[Common Controls tab|Common Controls]] | [[TTrackBar]] • [[TProgressBar]] • [[TTreeView]] • [[TListView]] • [[TStatusBar]] • [[TToolBar]] • [[TCoolBar]] • [[TUpDown]] • [[TPageControl]] • [[TTabControl]] • [[THeaderControl]] • [[TImageList]] • [[TPopupNotifier]] • [[TDateTimePicker]]
134+[[Dialogs tab|Dialogs]] | [[TOpenDialog]] • [[TSaveDialog]] • [[TSelectDirectoryDialog]] • [[TColorDialog]] • [[TFontDialog]] • [[TFindDialog]] • [[TReplaceDialog]] • [[TTaskDialog]] • [[TOpenPictureDialog]] • [[TSavePictureDialog]] • [[TCalendarDialog]] • [[TCalculatorDialog]] • [[TPrinterSetupDialog]] • [[TPrintDialog]] • [[TPageSetupDialog]]
135+[[Data Controls tab|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]]
136+[[Data Access tab|Data Access]] | [[TDataSource/ja]] • [[TCSVDataSet/ja]] • [[TSdfDataSet/ja]] • [[TBufDataset/ja]] • [[TFixedFormatDataSet/ja]] • [[TDbf/ja]] • [[TMemDataset/ja]]
137+[[System tab|System]] | [[TTimer]] • [[TIdleTimer]] • [[TLazComponentQueue]] • [[THTMLHelpDatabase]] • [[THTMLBrowserHelpViewer]] • [[TAsyncProcess]] • [[TProcessUTF8]] • [[TProcess]] • [[TSimpleIPCClient]] • [[TSimpleIPCServer]] • [[TXMLConfig]] • [[TEventLog]] • [[TServiceManager]] • [[TCHMHelpDatabase]] • [[TLHelpConnector]]
138+[[Misc tab|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]]
139+[[LazControls tab|LazControls]] | [[TCheckBoxThemed]] • [[TDividerBevel]] • [[TExtendedNotebook]] • [[TListFilterEdit]] • [[TListViewFilterEdit]] • [[TLvlGraphControl]] • [[TShortPathEdit]] • [[TSpinEditEx]] • [[TFloatSpinEditEx]] • [[TTreeFilterEdit]] • [[TExtendedTabControl]] •
140+[[RTTI tab|RTTI]] | [[TTIEdit]] • [[TTIComboBox]] • [[TTIButton]] • [[TTICheckBox]] • [[TTILabel]] • [[TTIGroupBox]] • [[TTIRadioGroup]] • [[TTICheckGroup]] • [[TTICheckListBox]] • [[TTIListBox]] • [[TTIMemo]] • [[TTICalendar]] • [[TTIImage]] • [[TTIFloatSpinEdit]] • [[TTISpinEdit]] • [[TTITrackBar]] • [[TTIProgressBar]] • [[TTIMaskEdit]] • [[TTIColorButton]] • [[TMultiPropertyLink]] • [[TTIPropertyGrid]] • [[TTIGrid]]
141+[[SQLdb tab|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]]
142+[[Pascal Script tab|Pascal Script]] | [[TPSScript]] • [[TPSScriptDebugger]] • [[TPSDllPlugin]] • [[TPSImport Classes]] • [[TPSImport DateUtils]] • [[TPSImport ComObj]] • [[TPSImport DB]] • [[TPSImport Forms]] • [[TPSImport Controls]] • [[TPSImport StdCtrls]] • [[TPSCustomPlugin]]
143+[[SynEdit tab|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]]
144+[[Chart tab|Chart]] | [[TChart]] • [[TListChartSource]] • [[TRandomChartSource]] • [[TUserDefinedChartSource]] • [[TCalculatedChartSource]] • [[TDbChartSource]] • [[TChartToolset]] • [[TChartAxisTransformations]] • [[TChartStyles]] • [[TChartLegendPanel]] • [[TChartNavScrollBar]] • [[TChartNavPanel]] • [[TIntervalChartSource]] • [[TDateTimeIntervalChartSource]] • [[TChartListBox]] • [[TChartExtentLink]] • [[TChartImageList]]
145+[[IPro tab|IPro]] | [[TIpFileDataProvider]] • [[TIpHtmlDataProvider]] • [[TIpHttpDataProvider]] • [[TIpHtmlPanel]]
146+[[Virtual Controls tab|Virtual Controls]] | [[TVirtualDrawTree]] • [[TVirtualStringTree]] • [[TVTHeaderPopupMenu]]
147+
148+---
149+*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](/wiki-contact).*

Back to history