Hide

SftTree/DLL 7.5 - Tree Control

Display
Print

CalcOptimalRowHeaderWidth

Calculates the optimal width for row headers so text and pictures are not clipped.

C

int WINAPI SftTree_CalcOptimalRowHeaderWidth(HWND hwndCtl);
int WINAPI SftTreeSplit_CalcOptimalRowHeaderWidth(HWND hwndCtl);

C++

int CSftTree::CalcOptimalRowHeaderWidth(int limit = 0, BOOL fVisibleOnly = FALSE);
int CSftTreeSplit::CalcOptimalRowHeaderWidth(int limit = 0, BOOL fVisibleOnly = FALSE);

Parameters

hwndCtl

The window handle of the tree control.

limit

Defines the maximum number of items to be considered for width calculation. Specify a number less than or equal to 0 to consider all items. If a tree control contains many items, scanning all items may be extremely slow, as each row header width needs to be calculated. Using an application defined maximum number, the calculation can be limited to limit items. This results in better response time, yet some items which are not within the number of scanned items may still be clipped.

fVisibleOnly

Specify TRUE to limit the width calculation to visible items only. Items which are not visible because their parent items are collapsed are not included in the width calculation.

Returns

The return value is the optimal row header area width in pixels. The return value is -1 if an error occurred.

Comments

The CalcOptimalRowHeaderWidth function calculates the optimal width for row headers so text and pictures are not clipped.

CalcOptimalRowHeaderWidth calculates the optimal width of the row header area so that the row/column header's text and picture and the row header text and pictures can be completely displayed without being truncated or clipped. The row header width can be changed using SetRowHeaderWidth. MakeRowHeaderOptimal can be used to set the optimal row header width without having to calculate it first.

The SftTree_CalcOptimalRowHeaderWidth function does not support the parameters limit and fVisibleOnly. Use the SetCalcLimit and SetCalcVisibleOnly functions to supply this information before calling SftTree_CalcOptimalRowHeaderWidth.

By changing tree control attributes, the optimal row header width may change. Adding items, setting new row header pictures and changing row header text are a few of the actions that can affect the optimal row header width. The row header width may have to be set again to allow items to be completely visible. The tree control does not automatically adjust the row header width.

Items can be excluded from optimal row header width calculation by using the SetItemIgnore function or for virtual mode, setting the SFTTREEITEM_IGNORE value in the flag2 member of the SFTTREE_ITEM structure.

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