Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PosNameTypeDescriptionDefault
<1>Show Combo Drop DownBooleanFlag indicating whether or not combo box drop down exists0
<2>Configuration
<2, 1>Columns ListMultivalue@TM delimited list of column headings""
<2, 2>Column Settings ListMultivalue@TM delimited list of column settings""
<2, 3>DataMultivalueCombo box data""
<2, 4>Master ColumnIntegerThe column containing the return values1
<2, 5>AutofillBooleanIf true, then autofill is enabled1
<2, 6>Case Sensitive AutofillBooleanIf true, then autofill is case sensitive0
<2, 7>Number of Visible RowsIntegerThe number of viewable rows at a time0
<2, 8>Fire OnOptionClickBooleanIf true, fire the OnOptionClick when the user presses the drop down button0
<2, 9>Filtered AutofillBooleanIf true, reduce the list to only those items that partially match the current contents1
<2,10>Show Drop Down ImmediatelyBooleanIf true, shows the drop down as soon as the user enters the control1
<2, 11>LIST FormatBooleanIf true, then the Data is in LIST format instead of ARRAY format0
<2,12>Autofill Column(s)IntegerThe column(s) against which autofill is performedMaster Column
<2,13>Hide When EmptyBooleanIf true, then the dropdown hides when the user clears the editline0
<2,14>Normal NavigationBooleanIf true, then the up/down/pgup/pgdown keys move the editline cursor when the drop down is hidden0
<2,15>Show Only When EmptyBooleanIf true and Show Immediately is true, then the dropdown only shows immediately when the editline's contents are empty0
<2,16>No Show AutofillBooleanIf true, then the drop down does not appear during autofill0
<2,17>Clear Selection on Backspace or DeleteBooleanIf true, then the currently selected drop down item will be deselected when the user presses backspace or delete0
<2,18>Show Popup While Read OnlyBooleanIf true, then the user can click the drop down button and select an item but still cannot type in the cell0
<2,19>Show Popup While NavigatingBooleanIf true and Normal Navigation is false, then pressing up/down/pgup/pgdown shows the popup0
<2,20>Always Tab Out on EnterBooleanIf true, then pressing Enter will tab out of the cell even if the drop down was visible1
<2,21>Dropdown ThresholdIntegerThe number of rows, at minimum, that must be visible within the dropdown for it to appear below the cell0
<2,22>Dropdown FontFontThe font used to render the drop down itemsTahoma, 8pt
<2,23>Limit to ListBooleanDetermines if the editline's contents must be limited to the values in the dropdown.0
<2,24>Match AnywhereBooleanDetermines if autofill will also match what you type to any substrings within text, instead of just at the beginning of it.0

...

The Combo property can be used to add an efficient and feature rich combo box drop down to an OI EDITLINE control. The user interacts with the drop down just as if it were an OI COMBOBOX control. Whenever you turn this property on, the OptionButton is set to 1 to show an option button. The option button is then used to show the drop down.

...

The LIST Format parameter is a flag allowing you to change how the data array is interpreted. Normally, the third parameter (Data) must be in ARRAY format (@TM delimited columns with @STM delimited rows). By setting this parameter to 1 however, you can pass the Data in LIST Format (@TM delimited rows and @STM delimited columns). This flags also affects the ComboDataproperty. Thus, once you choose the LIST Format, all data interaction is in LIST format.

...

Code Block
// Subclass my editline control first 
CtrlId = @Window:".EDITLINE" 
Handle = Get_Property(CtrlId, "HANDLE") 
rv = Send_Message(@Window:".OLE_SUBCLASS", "OLE.Subclass", Handle, CtrlId) 

// Setup a combo drop down 
FirstNames = "Don"  :@STM:"Paul"    :@STM:"Frank":@STM:"Bob"      :@STM:"Kevin" 
LastNames  = "Bakke":@STM:"Simonsen":@STM:"Tomeo":@STM:"Fernandes":@STM:"Fournier" 
ComboDropDown = "" 
ComboDropDown<1>    = 1 
ComboDropDown<2, 1> = "First Name":@TM:"Last Name" 
ComboDropDown<2, 2> = "L":@STM:100:@TM:"L" 
ComboDropDown<2, 3> = FirstNames:@TM:LastNames 
ComboDropDown<2, 4> = 2                         ;// column 2 contains the values we care about 
ComboDropDown<2, 5> = 1                         ;// auto fill on 
ComboDropDown<2, 6> = 0                         ;// case sensitive off 
ComboDropDown<2, 7> = 10                        ;// 10 visible rows max 
ComboDropDown<2, 8> = 0                         ;// Don't fire the OnOptionClick 
ComboDropDown<2, 9> = 1                         ;// Reduce the list to partial matches 
ComboDropDown<2, 10> = 0                        ;// Only show the drop down when the user types 
ComboDropDown<2, 11> = 0                        ;// Do not use LIST Format 
ComboDropDown<2, 12> = 1                        ;// Autofill on first names 
ComboDropDown<2, 13> = 1                        ;// Hide dropdown when user clears cell 
ComboDropDown<2, 14> = 0                        ;// Let navigation keys show the drop down 
ComboDropDown<2, 15> = 0                        ;// Show the drop down regardless of the contents 
ComboDropDown<2, 16> = 0                        ;// Show the drop down during autofill 
ComboDropDown<2, 17> = 1                        ;// Remove selection when user backspaces/deletes 
ComboDropDown<2, 18> = 0                        ;// Show Popup while in read only mode 
ComboDropDown<2, 19> = 1                        ;// Show Popup When Navigating 
ComboDropDown<2, 20> = 1                        ;// Always Tab Out on Enter 
ComboDropDown<2, 21> = -1                       ;// Always show the dropdown above when close to the screen bottom 

Convert "." to ";" in CtrlId 
Set_Property(@Window:".OLE_SUBCLASS", "OLE.Combo[":CtrlId:"]", ComboDropDown)

See Also

ComboSelPosComboRowDataComboDataComboDropDown