📄 control.h
字号:
* \var typedef LISTBOXITEMINFO* PLISTBOXITEMINFO; * \brief Data type of the pointer to a LISTBOXITEMINFO. */typedef LISTBOXITEMINFO* PLISTBOXITEMINFO; /** * \defgroup ctrl_listbox_styles Styles of listbox control * @{ *//** * \def LBS_NOTIFY * \brief Notifies the parent window. * * Causes the list box to notify the list box parent window * with a notification message when the user clicks or doubleclicks an item. */#define LBS_NOTIFY 0x0001L/** * \def LBS_SORT * \brief Sorts strings alphabetically. * * Causes the list box to sort strings alphabetically that are * added to the list box with an LB_ADDSTRING message. */#define LBS_SORT 0x0002L/** * \def LBS_MULTIPLESEL * \brief Causes the list box to allow the user to select multiple items. */#define LBS_MULTIPLESEL 0x0008L/** * \def LBS_CHECKBOX * \brief Displays a check box in an item. */#define LBS_CHECKBOX 0x1000L/** * \def LBS_USEICON * \brief Displays an icon or bitmap in an item. */#define LBS_USEICON 0x2000L/** * \def LBS_AUTOCHECK * \brief If the list box has LBS_CHECKBOX style, this * style tell the box to auto-switch the check box between * checked or un-checked when the user click the check mark box of an item. */#define LBS_AUTOCHECK 0x4000L#define LBS_AUTOCHECKBOX (LBS_CHECKBOX | LBS_AUTOCHECK)#define LBS_OWNERDRAWFIXED 0x0010L#define LBS_OWNERDRAWVARIABLE 0x0020L#define LBS_USETABSTOPS 0x0080L#define LBS_MULTICOLUMN 0x0200L#define LBS_WANTKEYBOARDINPUT 0x0400L#define LBS_NOREDRAW 0x0004L#define LBS_HASSTRINGS 0x0040L#define LBS_NOINTEGRALHEIGHT 0x0100L#define LBS_EXTENDEDSEL 0x0800L /** @} end of ctrl_listbox_styles */ /** * \defgroup ctrl_listbox_msgs Messages of listbox control * @{ *//** * \def LB_ADDSTRING * \brief Appends the specified string. * * An application sends an LB_ADDSTRING message to append an item * specified in the lParam parameter to a list box. * * For a text-only list box: * * \code * LB_ADDSTRING * const char* text; * * wParam = 0; * lParam = (LPARAM)text; * \endcode * * \param text Pointer to the string of the item to be added. * * For a list box with check box or icon * (with LBS_CHECKBOX or LBS_USEICON styles): * * \code * LB_ADDSTRING * PLISTBOXITEMINFO plbii; * * wParam = 0; * lParam = (LPARAM)plbii; * \endcode * * \param plbii Pointer to the listbox item info to be added. * * \return The index of the new item on success, else the one of * the following error codes: * * - LB_ERRSPACE No memory can be allocated for new item. * - LB_ERR Invalid passed arguments. * */#define LB_ADDSTRING 0xF180/** * \def LB_INSERTSTRING * \brief Inserts an item to the list box. * * An application sends an LB_INSERTSTRING message to insert an item * into a list box. Unlike LB_ADDSTRING message, the LB_INSERTSTRING * message do not cause the list to be sorted. * * For a text-only list box: * * \code * LB_INSERTSTRING * const char* text; * * wParam = index; * lParam = (LPARAM)text; * \endcode * * \param index Specifies the index of the position at which to insert the item. * \param text Pointer to the string of the item to be inserted. * * For a list box with check box or icon * (with LBS_CHECKBOX or LBS_USEICON styles): * * \code * LB_INSERTSTRING * int index; * PLISTBOXITEMINFO plbii; * * wParam = (WPARAM)index; * lParam = (LPARAM)plbii; * \endcode * * \param index Specifies the index of the position at which to insert the item. * \param plbii Pointer to the listbox item info to be inserted. * * \return The index of the new item on success, else the one of * the following error codes: * * - LB_ERRSPACE No memory can be allocated for new item. * - LB_ERR Invalid passed arguments. * */#define LB_INSERTSTRING 0xF181/** * \def LB_DELETESTRING * \brief Removes an item from the list box. * * An application sends an LB_DELETESTRING message to a list box * to remove from the list box. * * \code * LB_DELETESTRING * int delete; * * wParam = (WPARAM)delete; * lParam = 0; * \endcode * * \param delete The index of the listbox item to be deleted. * * \return LB_OKAY on success, else LB_ERR to indicate you passed an invalid index. */#define LB_DELETESTRING 0xF182#define LB_SELITEMRANGEEX 0xF183/** * \def LB_RESETCONTENT * \brief Removes the contents of a list box. * * An application sends an LB_RESETCONTENT message to remove the all items * in a list box. * * \code * LB_RESETCONTENT * * wParam = 0; * lParam = 0; * \endcode * * \return Always be zero. */#define LB_RESETCONTENT 0xF184/** * \def LB_GETSEL * \brief Gets the selected state for an specified item. * * An application sends an LB_GETSEL message to a list box to get the selected * state for an item specified in the wParam parameter. * * \code * LB_GETSEL * int index; * * wParam = (WPARAM)index; * lParam = 0; * \endcode * * \param index The index of the specified item. * * \return The state of the specified item: * - 0\n Not selected. * - >0\n Selected. * - LB_ERR\n Invalid index. */#define LB_GETSEL 0xF187/** * \def LB_SETSEL * \brief Selects an item in a multiple-selection list box. * * An application sends an LB_SETSEL message to select an item * in a multiple-selection list box and scroll it into view if necessary. * * \code * LB_SETSEL * int index, sel * * wParam = (WPARAM)sel; * lParam = (LPARAM)index; * \endcode * * \param sel Indicates the changes to be made to the listbox item, * can be one of the following values: * - -1\n If the item has been selected, makes it unselected, vice versa. * - 0\n Makes the item unselected. * - other\n Makes the item selected. * \param index The index of the item. * * \return LB_OKAY on success, else LB_ERR to indicate you passed an invalid index * or the list box has no LBS_MULTIPLESEL style. */#define LB_SETSEL 0xF185/** * \def LB_GETCURSEL * \brief Gets the index of the currently selected or highlighted item. * * An application sends an LB_GETCURSEL message to a list box to get the index of * the currently selected item, if there is one, in a single-selection list box. * For multiple-selection list box, appliction send an LB_GETCURSEL message to a * list box to get the index of the current highlighted item. * * \code * LB_GETCURSEL * * wParam = 0; * lParam = 0; * \endcode * * \return The index of the currently selected item for single-selection list box; * Eles the index of the highlighted item for multiple-selection list box. */#define LB_GETCURSEL 0xF188/** * \def LB_SETCURSEL * \brief Selects an item. * * An application sends an LB_SETCURSEL message to a list box to * select an item and scroll it into view, if necessary. * * \code * LB_SETCURSEL * int cursel; * * wParam = (WPARAM)cursel; * lParam = 0; * \endcode * * \param cursel The index of the item to be selected and hilighted. * * \return The old index of the item selected on error, else LB_ERR to * indicate an error occurred. */#define LB_SETCURSEL 0xF186/** * \def LB_GETTEXT * \brief Retrieves the text of an item in list box. * * An application sends an LB_GETTEXT message to a list box to retrieve the text * of an item. * * \code * LB_GETTEXT * int index; * char *string; * * wParam = (WPARAM)index; * lParam = (LPARAM)string; * \endcode * * \param index The index of the selected item. * \param string Pointer to the string buffer. The buffer should be large enough * to contain the text of the item. * * \return One of the following values: * - LB_OKAY\n Success. * - LB_ERR\n Invalid item index. * * \sa LB_GETTEXTLEN */#define LB_GETTEXT 0xF189/** * \def LB_GETTEXTLEN * \brief Gets the length of text of item specified in a list box. * * An application sends an LB_GETTEXTLEN message to a list box to get the length * of text of the item specified in the \a wParam parameter. * * \code * LB_GETTEXTLEN * int index; * * wParam = (WPARAM)index; * lParam = 0; * \endcode * * \param index The index of the specified item. * * \return The length of the strings on success, else LB_ERR to indicate invalid index. */#define LB_GETTEXTLEN 0xF18A/** * \def LB_GETCOUNT * \brief Gets the number of items in the list box. * * An application sends an LB_GETCOUNT message to a list box to get the number * of items in the list box. * * \code * LB_GETCOUNT * * wParam = 0; * lParam = 0; * \endcode * * \return The number of items in the listbox. */#define LB_GETCOUNT 0xF18B#define LB_SELECTSTRING 0xF18C#define LB_DIR 0xF18D/** * \def LB_GETTOPINDEX * \brief Gets the index to the first visible item in the list box. * * An application sends an LB_GETTOPINDEX message to get the index to the first * visible item in the list box. Initially, the first visible item is item 0, but * this changes as the list box is scrolled. * * \code * LB_GETTOPINDEX * * wParam = 0; * lParam = 0; * \endcode * * \return The index of the first visible item in the listbox. */#define LB_GETTOPINDEX 0xF18E/** * \def LB_FINDSTRING * \brief Searchs a specified string. * * An application sends an LB_FINDSTRING message to search a list box for an item * that begins with the characters specified in the lParam parameter. The wParam * parameter specifies the zero-based index of the item before the first item to * be searched; The lParam parameter specifies a pointer to a null-terminated * string that contains the prefix to search for. * * \code * LB_FINDSTRING * int index; * char *string; * * wParam = (WPARAM)index; * lParam = (LPARAM)string; * \endcode * * \param index The index of the item to be searched. * \param string The string of the item to be searched. * * \return The index of the matched item; LB_ERR for not found. */#define LB_FINDSTRING 0xF18F/** * \def LB_GETSELCOUNT * \brief Gets the number of selected items in a multiple-selection list box. * * An application sends an LB_GETSELCOUNT message to a list box to get the number * of selected items in a multiple-selection list box. * * \code * LB_GETSELCOUNT * * wParam = 0; * lParam = 0; * \endcode * * \return The number of selected items in the multiple-selection listbox. */#define LB_GETSELCOUNT 0xF190/** * \def LB_GETSELITEMS * \brief Gets the numbers of selected items. * * An application sends an LB_GETSELITEMS message to a list box to fill a buffer * with an array of integers that specify the item numbers of selected items in * a multiple-selection list box. * * \code * LB_GETSELITEMS * int nItem; * int *pInt; * * wParam = (WPARAM)nItem; * lParam = (LPARAM)pInt; * \endcode * * \param nItem The maximum integer numbers wanted. * \param pInt The buffer of an array of integers to save the indices of selected items. * * \return The number of selected items. */#define LB_GETSELITEMS 0xF191#define LB_SETTABSTOPS 0xF192#define LB_GETHORIZONTALEXTENT 0xF193#define LB_SETHORIZONTALEXTENT 0xF194#define LB_SETCOLUMNWIDTH 0xF195#define LB_ADDFILE 0xF196/** * \def LB_SETTOPINDEX * \brief Ensures that a particular item in it is visible. * * An application sends an LB_SETTOPINDEX message to a list box to ensure that a * particular item in it is visible. The item is specified in the wParam parameter. * The list box scrolls so that either the specified item appears at the top of * the list box or the maximum scroll range has been reached. * * \code * LB_SETTOPINDEX * int index; * * wParam = (WPARAM)index; * lParam = 0; * \endcode * * \param index The index of the particular item to be set. * * \return Always be zero. */#define LB_SETTOPINDEX 0xF197/** * \def LB_GETITEMRECT * \brief Retrieves the dimensions of the rectangle. * * An application sends an LB_GETITEMRECT message to a list box to retrieve * the dimensions of the rectangle that bounds an item as it is currently * displayed in the list box window. The item is specified in the wParam * parameter, and a pointer to a RECT structure is given in the lParam parameter. * * \code * LB_GETITEMRECT * int index; * RECT *rcItem; * * wParam = (WPARAM)index; * lParam = (LPARAM)rcItem; * \endcode * * \param index The index of the specified item. * \param rcItem Pointer to the buffer used for storing the item rect; * * \return LB_OKAY on success; LB_ERR on error. */#define LB_GETITEMRECT 0xF198/** * \def LB_GETITEMDATA * \brief Gets item data in a list box if the box has LBS_CHECKBOX * and/or LBS_USEICON styles. * * An application sends LB_GETITEMDATA message to a list box to retrive the * check box flag and the handle of icon. Note that the text of the item * will not be returned, i.e., the field of \a string of LISTBOXITEMINFO * structure will be ignored.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -