SelectionChanging

The SelectionChanging event has different arguments for different objects:

Object

See

Tab control

Syntax 1

TreeView control

Syntax 2


Syntax 1: For Tab controls

Description

Occurs when another tab is about to be selected.

Event ID

Event ID

Objects

pbm_tcnselchanging

Tab


Arguments

Argument

Description

oldindex

Integer by value (the index of the currently selected tab)

newindex

Integer by value (the index of the tab that is about to be selected)


Return Values

Long.

Return code choices (specify in a RETURN statement):

0 -- Allow the selection to change

1 -- Prevent the selection from changing

Usage

Use the SelectionChanging event to prevent the selection from changing or to do processing for the newly selected tab page before it becomes visible. If CreateOnDemand is true and this is the first time the tab page is selected, the controls on the page do not exist yet, and you cannot refer to them in the event script.

Examples

When the user selects a tab, this code sizes the DataWindow control on the tab page to match the size of another DataWindow control. The resizing happens before the tab page becomes visible. This example is from tab_uo in the w_phone_dir window in the PowerBuilder Examples:

u_tab_dir luo_Tab
luo_Tab = This.Control[newindex]
luo_Tab.dw_dir.Height = dw_list.Height
luo_Tab.dw_dir.Width = dw_list.Width

See also

Clicked

SelectionChanged

Syntax 2: For TreeView controls

Description

Occurs when the selection is about to change in the TreeView control.

Event ID

Event ID

Objects

pbm_tvnselchanging

TreeView


Arguments

Argument

Description

oldhandle

Long by value (the handle of the currently selected item)

newhandle

Long by value (the handle of the item that is about to be selected)


Return Values

Long.

Return code choices (specify in a RETURN statement):

0 -- Allow the selection to change

1 -- Prevent the selection from changing

Usage

The SelectionChanging event occurs before the SelectionChanged event.

Examples

This example displays the status of changing TreeView items in a SingleLineEdit:

TreeViewItem l_tvinew, l_tviold
 
// Get TreeViewItem that was the old selection
This.GetItem(oldhandle, l_tviold)
 
// Get TreeViewItem that is currently selected
This.GetItem(newhandle, l_tvinew)
 
//Display the labels for the two items in display
sle_status.Text = "Selection changed from " &
   + String(l_tviold.Label) + " to " &
   + String(l_tvinew.Label)

See also

Clicked

SelectionChanged