Hide

SftTree/DLL 7.5 - Tree Control

Display
Print

RealColumn

Returns the real column number given a display column number.

C

int WINAPI SftTree_GetRealColumn(HWND hwndCtl, int dispCol);
int WINAPI SftTreeSplit_GetRealColumn(HWND hwndCtl, int dispCol);

C++

int CSftTree::GetRealColumn(int dispCol) const;
int CSftTreeSplit::GetRealColumn(int dispCol) const;

Parameters

hwndCtl

The window handle of the tree control.

dispCol

The display column number whose real column number is to be returned.

Returns

The return value is the real column number for a display column number, or -1 if an error occurred.

Comments

The GetRealColumn function returns the real column number given a display column number.

As a user reorders columns, this is completely transparent to the application. An application still references cells by the "real" column number, which is the original column number that the cell had before columns were reordered by the user. While columns appear in a new order after dragging a column to a new position, the application references columns and cells by their real column number which never changes.

If a user reorders columns using column drag & drop, the (display) column numbers, which is the column number as it appears to the user, may need to be translated into the real column number as used by an application. For more information see section "Display vs. Real Columns".

Examples

C

                index = 0;
            dispCol = firstDispCol;
        }
        if (index < 0)
            index = lastShown;
        if (index > lastShown)
            index = 0;

        col = SftTree_GetRealColumn(g_hwndTree, dispCol);

        // make sure the item is shown
        if (SftTree_GetItemShown(g_hwndTree, index)) {
            // make sure the column is really displayed
            if (lpCol[col].width > 0) {

                // back at m_editIndex, m_editCol?

C++

                index = 0;
            dispCol = firstDispCol;
        }
        if (index < 0)
            index = lastShown;
        if (index > lastShown)
            index = 0;

        col = m_Tree.GetRealColumn(dispCol);

        // make sure the item is shown
        if (m_Tree.GetItemShown(index)) {
            // make sure the column is really displayed 
            if (lpCol[col].width > 0) {

                // back at m_editIndex, m_editCol?

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