GetComboBox

>>-anAdvancedControl~GetComboBox(--id--+-------------+--)------><
                                       +-,--category-+


The GetComboBox method returns an object of the ComboBox class that is assigned to the list box with the specified ID. The ComboBox class (see ComboBox Class) provides methods to query and manipulate combo boxes.

Arguments:

The arguments are:

id

The ID of the combo box.

category

The number of the category dialog page containing the requested combo box. This argument must only be specified for category dialogs.

Return value:

An object of the ComboBox class or .Nil if the requested combo box does not exist.

Example:

The following example comes from a fictious accounting program. In one of the dialogs for the program, when the user selects a specific city, say San Diego, the zip code combo box is populated with the valid zip codes for that city. In the program, symbolic IDs have been used for the controls. The valid zip codes are passed into the method as an array.

::class "BillingDlg" subclass RcDialog inherit AdvancedControls MessageExtensions

...

::method setZipCodes
  use strict arg codes

  combo = self~getComboBox(IDC_COMBO_ZIP)
  if combo == .Nil then return .false

  lowest = 99999
  combo~deleteAll
  do zipCode over codes
    combo~add(zipCode)
    if zipCode < lowest then do
      lowest = zipCode
    end
  end
  combo~select(lowest)
  return .true

Note: GetComboBox connects an Object Rexx object with a Windows object. If the object does not exist, the Nil object is returned. Therefore, this method can only be applied after the Windows dialog has been created (after the invocation of StartIt).