delphivcl.ComboBox
combines an edit box with a scrollable list. A ComboBox
component is an edit box with a scrollable drop-down list attached to it. Users can select an item from the list or type directly into the edit box.
Note: The width of the button in a TComboBox
is equal to the width that Windows uses for scrollbars. This width depends on the color scheme that the user has chosen (by right-clicking the desktop, selecting Properties
, and choosing Appearance
). If you carefully size your combo box so all the text is visible, then a user running under a different color scheme may find that the text is obscured by the button. One solution is to set the scrollbar wide when developing the application. Most color schemes use a scrollbar that is at most 21 pixels wide.
We can browse all the properties, methods, and built-in properties of the delphivcl.ComboBox
using dir()
command:
1 2 3 |
import delphivcl dir(delphivcl.ComboBox) |
See the responses in command prompt:
Here is the working example of the implementation of delphivcl.ComboBox
:
1 2 3 4 5 6 7 8 |
# Combo box creation cbxCity = ComboBox(pgOne) cbxCity.SetProps(Parent=pgOne,Name='ComboBox') cbxCity.SetBounds(145,206,121,60) cbxCity.Items.Add('New York') cbxCity.Items.Add('Sydney') cbxCity.Items.Add('Bangalore') cbxCity.Items.Add('Tokyo') |
To see the result, let’s run the complete script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
from delphivcl import * # Create a Class to build a basic Form class MainForm(Form): def __init__(self, Owner): self.Caption = "Introduction to VCL Components" self.Name = "BaseForm" self.SetBounds(10, 10, 500, 450) # Create a Main Panel component pnlMain = CreateComponent('TPanel',Owner) pnlMain.SetProps(Parent=self, Caption="",align = "alClient", Name = "MainPanel") # Page control creation pgConMain = PageControl(pnlMain) pgConMain.Name = "MyPageControl" pgConMain.Parent = pnlMain pgConMain.Align = "alClient" # Tabsheet one pgOne = TabSheet(pnlMain) pgOne.PageControl = pgConMain pgOne.Caption = "Tab 1" # Combo box creation cbxCity = ComboBox(pgOne) cbxCity.SetProps(Parent=pgOne,Name='ComboBox') cbxCity.SetBounds(145,206,121,60) cbxCity.Items.Add('New York') cbxCity.Items.Add('Sydney') cbxCity.Items.Add('Bangalore') cbxCity.Items.Add('Tokyo') # Initialize your application def main(): Application.Initialize() Application.Title = "MyDelphiApp" f = MainForm(Application) f.Show() FreeConsole() Application.Run() Application.Destroy() main() |
The result:
Table of Contents
Note for beta release users
In practice, the only difference between DelphiVCL4Python release version and the beta version is only in how you write the DelphiVCL. Here is the example for how you import the library:
- Release version:
1 |
from delphivcl import * |
- Beta version:
1 |
from DelphiVCL import * |
Watch this comprehensive introduction to Python GUI Development with DelphiVCL library video by Jim McKeeth:
Also, watch the following webinar by Alexey Sharagin to Master the Secrets of Beautiful Modern Windows Apps:
Check out DelphiVCL which easily allows you to build GUIs for Windows using Python.
Check out Python4Delphi which easily allows you to build Python GUIs for Windows using Delphi.
References & further readings
[1] Embarcadero DocWiki. (2016).
Vcl.StdCtrls.TComboBox
. Embarcadero DocWiki. Embarcadero Technologies. docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.StdCtrls.TComboBox