Difference between revisions of "TListBox/ja"

From Free Pascal wiki
Jump to navigationJump to search
 
(33 intermediate revisions by the same user not shown)
Line 10: Line 10:
  
 
==リストボックスを埋める==
 
==リストボックスを埋める==
===by the Object Inspector===
+
===オブジェクトインスペクタにより===
 
* フォーム上のListBoxを1回のクリックで選択する。
 
* フォーム上のListBoxを1回のクリックで選択する。
 
* PropertiesタブでObject Inspectorに移動し、''Items''というプロパティを選択する。
 
* PropertiesタブでObject Inspectorに移動し、''Items''というプロパティを選択する。
* 3つの点があるボタンをクリックします。String Editorが開く。
+
* 3つの点があるボタンをクリックする。String Editorが開く。
 
* テキストを入力し、''OK''で作業を確認する。
 
* テキストを入力し、''OK''で作業を確認する。
  
===by code in button click===
+
===ボタンクリックでコードにより===
Add your form a [[TButton]] with the name ''btnFill'' and caption ''fill ListBox''. In the event handler ''OnClick'' of the button, you write the following code:
+
フォームに、名前が''btnFill''でキャプションが''fill ListBox''となる[[TButton]]を追加する。そのボタンの''OnClick''イベントハンドラには、以下のコードを記述する:
 
<syntaxhighlight lang=pascal>
 
<syntaxhighlight lang=pascal>
 
procedure TForm1.btnFillClick(Sender: TObject);
 
procedure TForm1.btnFillClick(Sender: TObject);
Line 29: Line 29:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==Assignment of a StringList==
+
==StringListの割り当て==
Add your form a [[TButton]] with the name ''btnFill'' and caption ''fill ListBox''. In the event handler ''OnClick'' of the button, you write the following code:
+
フォームに、名前が''btnFill''でキャプションが''fill ListBox''となる[[TButton/ja]]を追加する。そのボタンの''OnClick''イベントハンドラには、以下のコードを記述する:
 
<syntaxhighlight lang=pascal>
 
<syntaxhighlight lang=pascal>
 
procedure TForm1.btnFillClick(Sender: TObject);
 
procedure TForm1.btnFillClick(Sender: TObject);
Line 36: Line 36:
 
   myStringList: TStringList;
 
   myStringList: TStringList;
 
begin
 
begin
   myStringList:=TStringList.Create;              //Create my StringList
+
   myStringList:=TStringList.Create;              //StringListを作る
   myStringList.Add('This is the first line.');  //This add a row
+
   myStringList.Add('This is the first line.');  //新しい行を追加する
 
   myStringList.Add('This is the second first line.');
 
   myStringList.Add('This is the second first line.');
 
   myStringList.Add('This is the third line.');
 
   myStringList.Add('This is the third line.');
 
   myStringList.Add('etc.');
 
   myStringList.Add('etc.');
   ListBox1.Items.Assign(myStringList);            //assign the ListBox1 the text content of my StringList
+
   ListBox1.Items.Assign(myStringList);            //ListBox1にStringListの内容を割り当てる
   myStringList.Free;                              //Free my StringList in memory
+
   myStringList.Free;                              //メモリからStringListを解放する
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==Add string==
+
==文字列を追加する==
* Extend the example [[TListBox#by code in button click|Fill ListBox by code in button click]] to a [[TEdit]] and a [[TButton]] with the name ''btnAdd'' and caption ''add string''. Change of ''Edit1'' the property ''Text'' to "" - empty string.
+
* [[TListBox/ja#ボタンクリックでコードにより|ボタンクリックでコードにより]]埋める、を拡張し、TEditと名前が''btnAdd''でキャプションが''add string''のTButtonを追加し、''Edit1''のTextプロパティを"" - 空の文字列に変更する。
* In the event handler ''OnClick'' of the button, you write the following code:
+
* ボタンのイベントハンドラ''OnClick''に以下のコードを書く:
 
<syntaxhighlight lang=pascal>
 
<syntaxhighlight lang=pascal>
 
procedure TForm1.btnAddClick(Sender: TObject);
 
procedure TForm1.btnAddClick(Sender: TObject);
Line 57: Line 57:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==Delete string==
+
==文字列を削除する==
By default is set that you can select only one row in your list box. Do you want to select several of the lines in your ListBox, you would have the property ''MultiSelect'' to make ''True''.
 
  
===at ItemIndex===
+
デフォルトでは、ListBoxで1行のみを選択できるように設定されている。ListBoxで複数の行を選択する場合は、''MultiSelect''プロパティを''True''に設定する必要がある。
  
* Extend the example [[TListBox#Add string|Add string]] to a [[TButton]] with the name "btnDel" and caption "delete string".
+
===ItemIndexで===
* In the event handler ''OnClick'' of the button, you write the following code:
+
 
 +
* [[TListBox/ja#文字列を追加する|文字列を追加する]]を拡張し"btnDel"の名前の[[TButton/ja|TButton]]、そのキャプションを"delete string"とする。
 +
* ボタンの''OnClick''イベントハンドラに以下のコードを書く:
 
<syntaxhighlight lang=pascal>
 
<syntaxhighlight lang=pascal>
 
procedure TForm1.btnDelClick(Sender: TObject);
 
procedure TForm1.btnDelClick(Sender: TObject);
 
begin
 
begin
   if ListBox1.ItemIndex > -1 then    //Delete only when a string in the listbox is selected
+
   if ListBox1.ItemIndex > -1 then    //リストボックスの文字列が選択されたときのみ削除
 
     ListBox1.Items.Delete(ListBox1.ItemIndex);
 
     ListBox1.Items.Delete(ListBox1.ItemIndex);
 
end;  
 
end;  
Line 73: Line 74:
  
 
===all selected strings===
 
===all selected strings===
* Extend the example [[TListBox#Add string|Add string]] to a [[TButton]] with the name "btnDel" and caption "delete string".
+
* [[TListBox/ja#文字列を追加する|文字列を追加する]]を拡張し"btnDel"の名前の[[TButton/ja|TButton]]、そのキャプションを"delete string"とする。
* In the event handler ''OnClick'' of the button, you write the following code:
+
* ボタンの''OnClick''イベントハンドラに以下のコードを書く:
 
<syntaxhighlight lang=pascal>
 
<syntaxhighlight lang=pascal>
 
procedure TForm1.btnDelClick(Sender: TObject);
 
procedure TForm1.btnDelClick(Sender: TObject);
Line 80: Line 81:
 
   i: Integer;
 
   i: Integer;
 
begin
 
begin
   if ListBox1.SelCount > 0 then                //Delete only if at least one string in the list box is selected
+
   if ListBox1.SelCount > 0 then                //リストボックスの少なくとも1つの文字列が選択されたときのみ削除する
     for i:=ListBox1.Items.Count - 1 downto 0 do //Iterate through all the items
+
     for i:=ListBox1.Items.Count - 1 downto 0 do //すべてのアイテムをイテレート
       if ListBox1.Selected[i] then              //If selected...
+
       if ListBox1.Selected[i] then              //もし選択されたら...
         ListBox1.Items.Delete(i);              //...delete the item (String)
+
         ListBox1.Items.Delete(i);              //...そのアイテム(文字列)を削除
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==Owner-drawn ListBox==
+
==所有者によって書かれたリストボックス==
In general, it is advantageous to let the ListBox follow the  [http://en.wikipedia.org/wiki/Skin_%28computing%29 theme] set by the user. In some cases (for example, to program a game with a colorful surface), you can deviate from this standard and draw the control according to your own choice. You can try this now:
+
一般的には、リストボックスをユーザーによって設定された[http://en.wikipedia.org/wiki/Skin_%28computing%29 テーマ]に従わせることが有効である。ある場合(例えば、色彩の多い表面を持つゲームをプログラムするため)ではこの標準から逸脱し、自身の選択に従ってコントロールを描くことができる。
* You can modify the previous sample or create a new application with a TListBox ''ListBox1''.
+
これを、
* In the Object Inspector, change ''ListBox1'' property ''Style'' to ''lbOwnerDrawFixed''.
+
* 上の例を変更するか、TListBox ''ListBox1''をもつ新しいアプリケーションを作る
* With the Object Inspector, tab events, create the event handler for the event ''OnDrawItem'', by clicking on the button [...].
+
* オブジェクトインスペクタで''ListBox1''のプロパティ、''Style''''lbOwnerDrawFixed''へ変更する。
* You add the following code to the handler:
+
* オブジェクトインスペクタのイベントタブで[...]ボタンをクリックすることで、''OnDrawItem''イベントに対するイベントハンドラを作る。
 +
* イベントハンドラに以下のコードを加える:
 
<syntaxhighlight lang=pascal>
 
<syntaxhighlight lang=pascal>
 
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
 
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
 
   ARect: TRect; State: TOwnerDrawState);
 
   ARect: TRect; State: TOwnerDrawState);
 
var
 
var
   aColor: TColor;                      //Background color
+
   aColor: TColor;                      //背景色
 
begin
 
begin
   if (Index mod 2 = 0)                  //Index tells which item it is
+
   if (Index mod 2 = 0)                  //インデクスがどのアイテムか知らせる
     then aColor:=$FFFFFF                //every second item gets white as the background color
+
     then aColor:=$FFFFFF                //背景色として1秒ごとにアイテムが白になる
     else aColor:=$EEEEFF;              //every second item gets pink background color
+
     else aColor:=$EEEEFF;              //背景色として1秒ごとにアイテムが桃になる
   if odSelected in State then aColor:=$0000FF;  //If item is selected, then red as background color
+
   if odSelected in State then aColor:=$0000FF;  //もしアイテムが選択されると、背景色は赤となる。
   ListBox1.Canvas.Brush.Color:=aColor;  //Set background color
+
   ListBox1.Canvas.Brush.Color:=aColor;  //背景色を設定する
   ListBox1.Canvas.FillRect(ARect);      //Draw a filled rectangle
+
   ListBox1.Canvas.FillRect(ARect);      //塗りつぶされた四角形を描く
  
   ListBox1.Canvas.Font.Bold:=True;      //Set the font to "bold"
+
   ListBox1.Canvas.Font.Bold:=True;      //フォントを「太字」に設定する
   ListBox1.Canvas.TextRect(ARect, 2, ARect.Top+2, ListBox1.Items[Index]);  //Draw Itemtext
+
   ListBox1.Canvas.TextRect(ARect, 2, ARect.Top+2, ListBox1.Items[Index]);  //アイテムテキストを描く
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
{{Note|'''Parameters of ListBoxDrawItem:'''<br><br>
+
と書くことができる。
'''Control:'''<br> If multiple controls (E.g. multiple ListBoxes) access this event handle, you know which threw this event. You could in our example, instead of '''<syntaxhighlight lang=pascal>ListBox1.Canvas.FillRect(ARect)</syntaxhighlight>''' also '''<syntaxhighlight lang=pascal>TListBox(Control).Canvas.FillRect(ARect)</syntaxhighlight>''' write, where you should query still possible before, whether it is a TListBox:
+
{{Note|'''リストボックスアイテムのパラメータ:'''<br><br>'''Control:'''<br>複数のコントロール(例えば、複数のリストボックス)がこのハンドルにアクセスする場合、どれがこのイベントを発生させたかわかる。それがTListBoxかどうか、'''<syntaxhighlight lang=pascal>ListBox1.Canvas.FillRect(ARect)</syntaxhighlight>'''また、'''<syntaxhighlight lang=pascal>TListBox(Control).Canvas.FillRect(ARect)</syntaxhighlight>'''の代わりに、事前に問い合わせるべきであり<syntaxhighlight lang=pascal>if Control is TListBox then
<syntaxhighlight lang=pascal>
+
     TListBox(Control).Canvas.FillRect(ARect);
  if Control is TListBox then
+
</syntaxhighlight>と書くことができる。
     TListBox(Control).Canvas.FillRect(ARect);  
 
</syntaxhighlight>
 
 
'''Index:'''  
 
'''Index:'''  
Specifies the item location, so you have access to the string '''<syntaxhighlight lang=pascal><ListBox>.Items[Index]</syntaxhighlight>'''.<br>
+
アクセスできるように、アイテムの場所を特定する
 +
'''<syntaxhighlight lang=pascal><ListBox>.Items[Index]</syntaxhighlight>'''.<br>
 
'''ARect:'''
 
'''ARect:'''
Describes the rectangle, which is necessary for drawing the background.<br>
+
背景を描くために必要な、四角形を描写する。<br>
 
'''State:'''
 
'''State:'''
Status of the items, whether normal, focused, selected etc. 
+
通常、フォーカスされた、選択されたなどアイテムの状態。
 
}}
 
}}
* Your example could look like:
+
* 例では以下のように見えるはずである:
 
[[image:ListBoxBsp1.png]] -> [[image:ListBoxBsp2.png]]
 
[[image:ListBoxBsp1.png]] -> [[image:ListBoxBsp2.png]]
  

Latest revision as of 02:44, 22 March 2024

Deutsch (de) English (en) suomi (fi) français (fr) 日本語 (ja)

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報

TListBox tlistbox.pngは、ユーザーが1つ選択する必要がある(スクロール可能な)短い文字列のリストを表示するコンポーネントである。コンポーネントパレットStandardタブで利用できる。

TListBoxにあるstringsTStrings型であるItemsプロパティに格納されている。そのため、TStringListまたはその親であるTStringsにあるように、リストボックス内に文字列を割り当て、もしくは取り除くことができる。

これはForm1のTListBox ListBox1の使い方のいくつかの例である:

リストボックスを埋める

オブジェクトインスペクタにより

  • フォーム上のListBoxを1回のクリックで選択する。
  • PropertiesタブでObject Inspectorに移動し、Itemsというプロパティを選択する。
  • 3つの点があるボタンをクリックする。String Editorが開く。
  • テキストを入力し、OKで作業を確認する。

ボタンクリックでコードにより

フォームに、名前がbtnFillでキャプションがfill ListBoxとなるTButtonを追加する。そのボタンのOnClickイベントハンドラには、以下のコードを記述する:

procedure TForm1.btnFillClick(Sender: TObject);
begin
  ListBox1.Items.Clear;             //Delete all existing strings
  ListBox1.Items.Add('First line');
  ListBox1.Items.Add('Line with random number '+IntToStr(Random(100)));
  ListBox1.Items.Add('Third line');
  ListBox1.Items.Add('Even a random number '+IntToStr(Random(100)));
end;

StringListの割り当て

フォームに、名前がbtnFillでキャプションがfill ListBoxとなるTButton/jaを追加する。そのボタンのOnClickイベントハンドラには、以下のコードを記述する:

procedure TForm1.btnFillClick(Sender: TObject);
var
  myStringList: TStringList;
begin
  myStringList:=TStringList.Create;               //StringListを作る
  myStringList.Add('This is the first line.');   //新しい行を追加する
  myStringList.Add('This is the second first line.');
  myStringList.Add('This is the third line.');
  myStringList.Add('etc.');
  ListBox1.Items.Assign(myStringList);            //ListBox1にStringListの内容を割り当てる
  myStringList.Free;                              //メモリからStringListを解放する
end;

文字列を追加する

  • ボタンクリックでコードにより埋める、を拡張し、TEditと名前がbtnAddでキャプションがadd stringのTButtonを追加し、Edit1のTextプロパティを"" - 空の文字列に変更する。
  • ボタンのイベントハンドラOnClickに以下のコードを書く:
procedure TForm1.btnAddClick(Sender: TObject);
begin
  ListBox1.Items.Add(Edit1.Text);
  Edit1.Text:='';
end;

文字列を削除する

デフォルトでは、ListBoxで1行のみを選択できるように設定されている。ListBoxで複数の行を選択する場合は、MultiSelectプロパティをTrueに設定する必要がある。

ItemIndexで

  • 文字列を追加するを拡張し"btnDel"の名前のTButton、そのキャプションを"delete string"とする。
  • ボタンのOnClickイベントハンドラに以下のコードを書く:
procedure TForm1.btnDelClick(Sender: TObject);
begin
  if ListBox1.ItemIndex > -1 then    //リストボックスの文字列が選択されたときのみ削除
    ListBox1.Items.Delete(ListBox1.ItemIndex);
end;

all selected strings

  • 文字列を追加するを拡張し"btnDel"の名前のTButton、そのキャプションを"delete string"とする。
  • ボタンのOnClickイベントハンドラに以下のコードを書く:
procedure TForm1.btnDelClick(Sender: TObject);
var
  i: Integer;
begin
  if ListBox1.SelCount > 0 then                 //リストボックスの少なくとも1つの文字列が選択されたときのみ削除する
    for i:=ListBox1.Items.Count - 1 downto 0 do //すべてのアイテムをイテレート
      if ListBox1.Selected[i] then              //もし選択されたら...
        ListBox1.Items.Delete(i);               //...そのアイテム(文字列)を削除
end;

所有者によって書かれたリストボックス

一般的には、リストボックスをユーザーによって設定されたテーマに従わせることが有効である。ある場合(例えば、色彩の多い表面を持つゲームをプログラムするため)ではこの標準から逸脱し、自身の選択に従ってコントロールを描くことができる。 これを、

  • 上の例を変更するか、TListBox ListBox1をもつ新しいアプリケーションを作る
  • オブジェクトインスペクタでListBox1のプロパティ、StylelbOwnerDrawFixedへ変更する。
  • オブジェクトインスペクタのイベントタブで[...]ボタンをクリックすることで、OnDrawItemイベントに対するイベントハンドラを作る。
  • イベントハンドラに以下のコードを加える:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  ARect: TRect; State: TOwnerDrawState);
var
  aColor: TColor;                       //背景色
begin
  if (Index mod 2 = 0)                  //インデクスがどのアイテムか知らせる
    then aColor:=$FFFFFF                //背景色として1秒ごとにアイテムが白になる
    else aColor:=$EEEEFF;               //背景色として1秒ごとにアイテムが桃になる
  if odSelected in State then aColor:=$0000FF;  //もしアイテムが選択されると、背景色は赤となる。
  ListBox1.Canvas.Brush.Color:=aColor;  //背景色を設定する
  ListBox1.Canvas.FillRect(ARect);      //塗りつぶされた四角形を描く

  ListBox1.Canvas.Font.Bold:=True;      //フォントを「太字」に設定する
  ListBox1.Canvas.TextRect(ARect, 2, ARect.Top+2, ListBox1.Items[Index]);  //アイテムテキストを描く
end;

と書くことができる。

Light bulb  Note: リストボックスアイテムのパラメータ:

Control:
複数のコントロール(例えば、複数のリストボックス)がこのハンドルにアクセスする場合、どれがこのイベントを発生させたかわかる。それがTListBoxかどうか、
ListBox1.Canvas.FillRect(ARect)
また、
TListBox(Control).Canvas.FillRect(ARect)
の代わりに、事前に問い合わせるべきであり
if Control is TListBox then
    TListBox(Control).Canvas.FillRect(ARect);
と書くことができる。

Index: アクセスできるように、アイテムの場所を特定する

<ListBox>.Items[Index]
.

ARect: 背景を描くために必要な、四角形を描写する。
State: 通常、フォーカスされた、選択されたなどアイテムの状態。

  • 例では以下のように見えるはずである:

ListBoxBsp1.png -> ListBoxBsp2.png

See also


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/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