From Clomosy Docs

Revision as of 13:07, 24 December 2024 by ClomosyAdmin (talk | contribs)

AComponent : Specifies the parent of the object to be defined.

xName : The name of the defined combobox should be written.

Combobox is a box that opens in the form of a list. It is used in events such as data listing, data selection.

Its appearance is close to AddNewEdit, but there is an arrow button on the right side that will enable it to open downwards. In this way, when you press the unlock button, you have the chance to choose among the data listed in it.

Feature Use of Definition
TClComboBox ComboBox1 : TClComboBox; A variable belonging to the TClComboBox class is created.
AddNewComboBox ComboBox1 = Form1.AddNewComboBox(Form1,'ComboBox1'); A new ComboBox is added to the form.
AddItem ComboBox1.AddItem('key1','value1'); In order to add data to the list in the Combobox, we need to use "AddItem". You must write the key value in the first parameter in the "AddItem" definition. This is the area you want to appear on the screen. You should write the value it will hold in the second parameter.
tbeOnChange Form1.AddNewEvent(ComboBox1,tbeOnChange,'ComboSelected'); tbeOnChange is used as the event for clicking on the combobox.
ItemIndex ComboBox1.ItemIndex Specifies the index of the selected item. That is, it determines which element is selected.
GetValueIndex ComboBox1.GetValueIndex(ComboBox1.ItemIndex); Returns the value of the selected string. In other words, it returns the value1 of the field defined by saying ComboBox1.AddItem('key1','value1').
GetItemIndex ComboBox1.GetItemIndex(ComboBox1.ItemIndex) Returns the key of the selected string. In other words, it returns the key1 value of the field defined by saying ComboBox1.AddItem('key1','value1').
Items ComboBox1.Items[ComboBox1.ItemIndex]; This does the same thing as the GetItemIndex definition above.
Width ComboBox1.Width = 150; Allows the width of columns to be adjusted.
Height ComboBox1.Height = 50; llows the height of columns to be adjusted.
Align ComboBox1.Align = alTop; With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the page to learn about these features.
Margins ComboBox1.Margins.Left = 50; // Right, Top, Bottom With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.
Clear ComboBox1.Clear; The Clear method is used to clear the elements of a TclComboBox component.


Example

Now let's make an example where we can show the value of the selected one in the message box when we select and select one of the days.

var
 MyForm:TclForm;
 testCombo : TClComboBox;
 testLabel :TClLabel;

 void ComboSelected;
 var
   strValue,strKey,strKey2 : String;
 {
   strValue = testCombo.GetValueIndex(testCombo.ItemIndex);
   strKey = testCombo.GetItemIndex(testCombo.ItemIndex);
   strKey2 = testCombo.Items[testCombo.ItemIndex];

   ShowMessage('strValue : '+strValue); //value1
   ShowMessage('strKey : '+strKey); //key
   ShowMessage('strKey2 : '+strKey2); //key
   ShowMessage('testCombo.ItemIndex : '+IntToStr(testCombo.ItemIndex)); //index 
 }

{
 MyForm = TclForm.Create(Self);

 testLabel= MyForm.AddNewLabel(MyForm,'testLabel','Select the day');
 testLabel.Align=alMostTop;
 testLabel.StyledSettings = ssFamily;
 testLabel.TextSettings.FontColor = clAlphaColor.clHexToColor('#820000');
 testLabel.TextSettings.Font.Size=20;
 testLabel.Width = 150;
 testLabel.Height = 25;
 testLabel.Margins.Top=50;
 testLabel.Margins.Left =50;
 testLabel.Margins.Right =50;

 testCombo = MyForm.AddNewComboBox(MyForm,'testCombo');
 testCombo.Align = alTop;
 testCombo.Width = 150;
 testCombo.Margins.Top=10;
 testCombo.Margins.Left =50;
 testCombo.Margins.Right =50;

 testCombo.AddItem('Monday','01');
 testCombo.AddItem('Tuesday','02');
 testCombo.AddItem('Wednesday','03');
 testCombo.AddItem('Thursday','04');
 testCombo.AddItem('Friday','05');
 testCombo.AddItem('Saturday','06');
 testCombo.AddItem('Sunday','07');

 MyForm.AddNewEvent(testCombo,tbeOnChange,'ComboSelected');
 MyForm.Run;
}

Output:
Combobox.png

See Also