guides:programming:programmers_reference_manual:creating_labels_for_the_hierarchical_list_box

Creating Labels for the Hierarchical List Box

In this next step, we add labels to the hierarchical list box. In this example, columns one through three have the following labels, respectively: Product, Type, Title of Article. To create the labels, we actually use an edit table. Perform the following steps:

  • Add an Edit Table control. Add an edit table control to the form called ET_LABELS.
  • In the edit table's Properties dialog box, add two more columns and type in the following for the column headings, respectively: Product, Type, Title of Article
  • Click the More… button in the Properties dialog box then check Show Column Headings, and clear Row Numbers.
  • Add a QuickEvent for the edit table's COLSIZE event, to execute the stored procedure, TEST_LB. Parameters for the QuickEvent are:

'@SELF'

  • Format the labels. Resize the edit table vertically so that only the column headings are visible, and horizontally so that it is exactly the same width as the hierarchical list box. Place the edit table just above the hierarchical list box.
  • Add a QuickEvent for the window's CREATE event. Define a QuickEvent for the window's CREATE event to execute the stored procedure, TEST_LB. No parameters are needed.
  • Add two CASE statements to the stored procedure. Add the following code to the stored procedure, TEST_LB, to align the labels with the list box contents.
 case ctrlName = '' 

 *align labels

 if Event = 'CREATE' then

 Set_Property(WinId: '.ET_LABELS', 'AUTOSIZECOL', 4)

 gosub SetTabs

 end

 

 case ctrlName = 'ET_LABELS'

 gosub SetTabs

At the end of the stored procedure (after return 0) add the following:

SetTabs:

 colWidth = Send_Message(WinId:'.ET_LABELS', 'COLWIDTH', 0)

 colNum = count(colWidth, @fm) + 1

 tabs = '' 

 base = 0

 for nC = 1 to colNum

 base = base+colWidth<nC>

 tabs<nC> = base

 next nC

 Set_Property(WinId:'.LB_H', 'TABSTOPS', tabs)

return

The labels in the edit table will be synchronized with the contents of the list box, allowing you to resize the headings and have the contents be resized as well. The form displays as shown below:

  • guides/programming/programmers_reference_manual/creating_labels_for_the_hierarchical_list_box.txt
  • Last modified: 2024/06/19 20:20
  • by 127.0.0.1