Hide

SftTree/DLL 7.5 - Tree Control

Display
Print

LastDisplayColumn

Returns the index of the last displayed column.

C

int WINAPI SftTree_GetLastDisplayColumn(HWND hwndCtl);
int WINAPI SftTreeSplit_GetLastDisplayColumn(HWND hwndCtl, BOOL fLeft);

C++

int CSftTree::GetLastDisplayColumn() const;
int CSftTreeSplit::GetLastDisplayColumn(BOOL fLeft = TRUE) const;

Parameters

hwndCtl

The window handle of the tree control.

fLeft

Set to TRUE to retrieve the column number of the last displayed column on the left side of a split tree control (the portion of the tree control containing the hierarchy). If FALSE is specified, the column number of the last displayed column on the right side is returned.

Returns

GetLastDisplayColumn returns the zero-based display column number of the last displayed column.

Comments

The GetLastDisplayColumn function returns the index of the last displayed column.

The last column with a width greater than 0 (see SFTTREE_COLUMN_EX) is considered the last displayed column. It is not necessarily displayed or visible if horizontal scrolling is in effect. A column can be made visible using MakeCellVisible or MakeColumnVisible.

The first displayed column can be determined using GetFirstDisplayColumn.

While most other functions use real column numbers, GetLastDisplayColumn returns the display column number of the last displayed column. The display column number can be translated to a real column number using GetRealColumn.

Examples

C

    LPSFTTREE_COLUMN_EX lpCol;
    int nCols;
    int lastShown = SftTree_GetPrevShown(g_hwndTree, -1);

    // get general information about tree control and columns
    nCols = SftTree_GetColumnsEx(g_hwndTree, &lpCol);/* Get column attributes */
    dispCol = SftTree_GetDisplayColumn(g_hwndTree, col);
    firstDispCol = SftTree_GetFirstDisplayColumn(g_hwndTree);
    lastDispCol = SftTree_GetLastDisplayColumn(g_hwndTree);

    if (vKey == VK_HOME && (vMask & SFTTREE_HANDLECTRL)) {  // Control+Home
        index = 0;
        dispCol = firstDispCol;
        vKey = VK_RIGHT; // if index/dispCol can't be edited, search a cell in this direction:
    } else if (vKey == VK_END && (vMask & SFTTREE_HANDLECTRL)) {  // Control+End
        index = SftTree_GetPrevShown(g_hwndTree, -1);

C++

    LPSFTTREE_COLUMN_EX lpCol;
    int nCols; 
    int lastShown = m_Tree.GetPrevShown(-1);

    // get general information about tree control and columns
    nCols = m_Tree.GetColumns(&lpCol);/* Get column attributes */ 
    dispCol = m_Tree.GetDisplayColumn(col);
    firstDispCol = m_Tree.GetFirstDisplayColumn();
    lastDispCol = m_Tree.GetLastDisplayColumn();

    if (vKey == VK_HOME && (vMask & SFTTREE_HANDLECTRL)) {  // Control+Home
        index = 0;
        dispCol = firstDispCol;
        vKey = VK_RIGHT; // if index/dispCol can't be edited, search a cell in this direction:
    } else if (vKey == VK_END && (vMask & SFTTREE_HANDLECTRL)) {  // Control+End
        index = m_Tree.GetPrevShown(-1);

See Also C/C++ API | Categories | Notifications