The SelectionChanging event has different arguments for different objects:
Object |
See |
---|---|
Tab control |
|
TreeView control |
Occurs when another tab is about to be selected.
Event ID |
Objects |
---|---|
pbm_tcnselchanging |
Tab |
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) |
Long. Return code choices (specify in a RETURN statement):
0 Allow the selection to change
1 Prevent the selection from changing
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.
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_dirluo_Tab
luo_Tab = This.Control[newindex]
luo_Tab.dw_dir.Height = dw_list.Height
luo_Tab.dw_dir.Width = dw_list.Width
Occurs when the selection is about to change in the TreeView control.
Event ID |
Objects |
---|---|
pbm_tvnselchanging |
TreeView |
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) |
Long. Return code choices (specify in a RETURN statement):
0 Allow the selection to change
1 Prevent the selection from changing
The SelectionChanging event occurs before the SelectionChanged event.
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)