Hide

SftDirectory 3.5 - ActiveX File/Folder Control

Display
Print

SftDirectory.SelectionFinal Event

A new file/folder is selected (and remains selected).

Syntax

VB.NETPrivate Sub object_SelectionFinal(ByVal sender As Object, ByVal e As EventArgumentType) Handles object.SelectionFinal
VBPrivate Sub object_SelectionFinal()
C#.NETvoid object_SelectionFinal(object sender, EventArgumentType e);
VC++void OnSelectionFinalobject();
CHRESULT OnSelectionFinalobject();

object

A SftDirectory object.

Comments

The SelectionFinal event occurs when a new file/folder is selected (and remains selected).

The SelectionChange event indicates that a selection has changed, but is not necessarily the final choice made by the user. The SelectionFinal event occurs once the selection has been made permanent. The distinction is made for combo box style controls (see ControlStyle property), which allow a selection change to occur in the dropdown list portion, but later canceled using the ESCAPE key. The SelectionFinal event would occur to signal the actual (final) selection once the dropdown list is closed.

Applications should generally use the SelectionFinal event, instead of the SelectionChange event. The SelectionChange event can be used to update a status bar or help information as a user makes selections in a combo box before they become permanent.

The SelectionCount property contains the number of currently selected folders. The selected folders can be retrieved using the Selection property.

The MultiSelect property defines whether only one or multiple folders can be selected at a time. Combo box style controls (see ControlStyle property) support single selection only.

Examples

VB.NET

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' call this to update the buttons
    UpdateLeftButtons()
    UpdateRightButtons()
    AxSftDirectoryRight.MakeColumnsOptimal()
End Sub

Private Sub AxSftDirectoryLeft_SelectionFinal(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxSftDirectoryLeft.SelectionFinal
    ' If the selection in the left tree changes, update right side detaillist
    UpdateLeftButtons()
    AxSftDirectoryRight.Clear()
    AxSftDirectoryRight.CancelMode()
    AxSftDirectoryRight.Refresh()
    If Not AxSftDirectoryLeft.CurrentFolder Is Nothing Then
        AxSftDirectoryRight.TopMostFolderIDL = AxSftDirectoryLeft.CurrentFolder.ItemIDList
    Else

VB6

Private Sub Form_Load()
    ' call this to update the buttons
    UpdateLeftButtons
    UpdateRightButtons
    SftDirectoryRight.MakeColumnsOptimal
End Sub

Private Sub SftDirectoryLeft_SelectionFinal()
    ' If the selection in the left tree changes, update right side detaillist
    UpdateLeftButtons
    SftDirectoryRight.Clear
    SftDirectoryRight.CancelMode
    SftDirectoryRight.Refresh
    If Not SftDirectoryLeft.CurrentFolder Is Nothing Then
        SftDirectoryRight.TopMostFolderIDL = SftDirectoryLeft.CurrentFolder.ItemIDList
    Else

C#

    f = axSftDirectoryRight.RootFolder;
    buttonNewFolder.Enabled = false;
    if (f != null) {
        if (f.Can("NewFolder"))
            buttonNewFolder.Enabled = true;
    }
}

private void axSftDirectoryLeft_SelectionFinal(object sender, System.EventArgs e) {
    // If the selection in the left tree changes, update right side detaillist
    UpdateLeftButtons();
    axSftDirectoryRight.Clear();
    axSftDirectoryRight.CancelMode();
    axSftDirectoryRight.Refresh();
    if (axSftDirectoryLeft.CurrentFolder != null)
        axSftDirectoryRight.TopMostFolderIDL = axSftDirectoryLeft.CurrentFolder.ItemIDList;

C++

{
    // F5 automatically reloads right side, but we also want left side updated
    if (*KeyCode == VK_F5) {
        ISftDirectoryPtr vDirLeft = m_DirLeft.GetControlUnknown();
        vDirLeft->Reload(VARIANT_TRUE, VARIANT_TRUE);
    }
}

void CSimpleExplorerDlg::OnSelectionFinal_SftDirectoryLeft()
{
    ISftDirectoryPtr vDirRight = m_DirRight.GetControlUnknown();
    ISftDirectoryPtr vDirLeft = m_DirLeft.GetControlUnknown();

    UpdateLeftButtons();
    vDirRight->Clear();
    vDirRight->CancelMode();

See Also SftDirectory Object | Object Hierarchy


Last Updated 08/13/2020 - (email)
© 2024 Softel vdm, Inc.