📄 combobox.h
字号:
/** * \file combobox.h * \author Wei Yongming <ymwei@minigui.org> * \date 2001/12/29 * \verbatim Copyright (C) 2002-2005 Feynman Software. Copyright (C) 1998-2002 Wei Yongming. This file is part of MiniGUI, a compact cross-platform Graphics User Interface (GUI) support system for real-time embedded systems. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA If you are using MiniGUI for developing commercial, proprietary, or other software not covered by the GPL terms, you must have a commercial license for MiniGUI. Please see http://www.minigui.com/product/index.html for how to obtain this. If you are interested in the commercial MiniGUI licensing, please write to sales@minigui.com. \endverbatim *//* * $Id: combobox.h,v 1.2 2005/02/15 05:00:08 weiym Exp $ * * MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks, * and ThreadX version 1.6.x * Copyright (C) 2002-2005 Feynman Software. * Copyright (C) 1999-2002 Wei Yongming. */#ifndef _MGUI_CTRL_COMBOBOX_H#define _MGUI_CTRL_COMBOBOX_H #ifdef __cplusplusextern "C" {#endif /* __cplusplus */ /** * \addtogroup controls * @{ */ /** * \defgroup ctrl_combobox ComboBox control * @{ *//** * \def CTRL_COMBOBOX * \brief The class name of combobox control. */#define CTRL_COMBOBOX ("combobox") /** * \defgroup ctrl_combobox_styles Styles of combobox control * @{ *//** * \def CBS_SIMPLE * \brief Displays the list box at all times. * * The current selection in the list box is displayed in the edit control. * * \note The argument \a dwAddData of \a CreateWindowEx function should be the * expected height of the list box. * * \code * int listbox_height = 100; * * CreateWindowEx (CTRL_COMBOBOX, ..., listbox_height); * \endcode */#define CBS_SIMPLE 0x0000L/** * \def CBS_AUTOSPIN * \brief Creates AutoSpin box. * * AutoSpin box has an input field with a spin button. The input field * displays an integer, and you can click spin button to increase or * decrease the value of the integer. */#define CBS_AUTOSPIN 0x0001L/** * \def CBS_SPINLIST * \brief Creates SpinList box. * * SpinList box has an input field with a spin button. The input field * displays some text, and you can click spin button to change the text. * The candidate text string comes from the strings you add to the box. */#define CBS_SPINLIST 0x0002L/** * \def CBS_DROPDOWNLIST * \brief Specifies a drop-down list box in the selection filed. * * \note The argument \a dwAddData of \a CreateWindowEx function should be the * expected height of the list box. * * \code * int listbox_height = 100; * * CreateWindowEx (CTRL_COMBOBOX, ..., listbox_height)); * \endcode */#define CBS_DROPDOWNLIST 0x0003L#define CBS_TYPEMASK 0x0007L/** * \def CBS_NOTIFY * \brief Notifies the parent window. * * Causes the combo box to notify the parent window * with a notification message. */#define CBS_NOTIFY 0x0008L/** * \def CBS_SPINARROW_TOPBOTTOM * \brief The spin arrow */#define CBS_SPINARROW_TOPBOTTOM 0x0010L/** * \def CBS_SPINARROW_LEFTRIGHT * \brief The spin arrow */#define CBS_SPINARROW_LEFTRIGHT 0x0020L#define CBS_AUTOHSCROLL 0x0040L#define CBS_DISABLENOSCROLL 0x0080L/** * \def CBS_SORT * \brief Automatically sorts strings entered in the list box. */#define CBS_SORT 0x0100L/** * \def CBS_AUTOLOOP * \brief Loops the value automatically if the type of combobox is CBS_AUTOSPIN. */#define CBS_AUTOLOOP 0x0200L/** * \def CBS_EDITNOBORDER * \brief The edit box has no border. */#define CBS_EDITNOBORDER 0x0400L/** * \def CBS_EDITBASELINE * \brief The edit box has base line. */#define CBS_EDITBASELINE 0x0800L/** * \def CBS_READONLY * \brief The edit field is read-only. */#define CBS_READONLY 0x1000L/** * \def CBS_UPPERCASE * \brief The edit field is uppercase. */#define CBS_UPPERCASE 0x2000L/** * \def CBS_LOWERCASE * \brief The edit field is lowercase. */#define CBS_LOWERCASE 0x4000L/** * \def CBS_AUTOFOCUS * \brief The edit field will gain the focus automatically. */#define CBS_AUTOFOCUS 0x8000L /** @} end of ctrl_combobox_styles */ /** * \defgroup ctrl_combobox_msgs Messages of combobox control * @{ *//** * \def CB_GETEDITSEL * \brief Gets the starting and ending character positions of the current * selection. * * An application sends a CB_GETEDITSEL message to get the starting and ending * character positions of the current selection in the edit control of a combo box. * * \code * CB_GETEDITSEL * int start; * int end; * * wParam = (WPARAM)&start; * lParam = (LPARAM)&end; * \endcode * * \param start Pointer to a 32-bit value that receives the starting * position of the selection. * \param end Pointer to a 32-bit value that receives the ending * position of the selection. * * \note Not implemented yet. */#define CB_GETEDITSEL 0xF140/** * \def CB_LIMITTEXT * \brief Limits the length of text in the edit control. * * An application sends a CB_LIMITTEXT message to limit the length of the text * the user may type into the edit control of a combo box. * * \code * CB_LIMITTEXT * int newLimit; * * wParam = (WPARAM)newLimit; * lParam = 0; * \endcode * * \param newLimit Specifies the maximum number of characters the user can enter. * * \return The return value is always zero. */#define CB_LIMITTEXT 0xF141/** * \def CB_SETEDITSEL * \brief Sets the starting and ending character positions of the current * selection. * * An application sends a CB_SETEDITSEL message to set the starting and ending * character positions of the current selection in the edit control of a combo box. * * \code * CB_SETEDITSEL * int start; * int end; * * wParam = (WPARAM)start; * lParam = (LPARAM)end; * \endcode * * \param start The starting position of the selection. * \param end The ending position of the selection. * * \note Not implemented yet. */#define CB_SETEDITSEL 0xF142/** * \def CB_ADDSTRING * \brief Adds a string to the list box of a combo box. * * An application sends a CB_ADDSTRING message to add a string to the list box * of a combo box. * * \code * CB_ADDSTRING * char* string; * * wParam = 0; * lParam = (LPARAM)string; * \endcode * * \param string Pointer to the null-terminated string to be added. * * \return The index of the new item on success, else the one of * the following error codes: * * - CB_ERRSPACE No memory can be allocated for new item. * - CB_ERR Invalid passed arguments. */#define CB_ADDSTRING 0xF143/** * \def CB_DELETESTRING * \brief Deletes a string in the list box of a combo box. * * An application sends a CB_DELETESTRING message to delete a string in the list box * of a combo box. * * \code * CB_DELETESTRING * int index; * * wParam = (WPARAM)index; * lParam = 0; * \endcode * * \param index Specifies the index of the string to delete. * * \return If succeed, return zero; otherwise CB_ERR. */#define CB_DELETESTRING 0xF144#define CB_DIR 0xF145/** * \def CB_GETCOUNT * \brief Retreives the number of items in the list box of a combo box. * * An application sends a CB_GETCOUNT message to retreive the number of items * in the list box of a combo box. * * \code * CB_GETCOUNT * * wParam = 0; * lParam = 0; * \endcode * * \return The number of items in the list box. */#define CB_GETCOUNT 0xF146/** * \def CB_GETCURSEL * \brief Retreives the index of the currently selected item in the list box. * * An application sends a CB_GETCURSEL message to retreive the index of the * currently selected item in the list box of a combo box. * * \code * CB_GETCURSEL * * wParam = 0; * lParam = 0; * \endcode * * \return The index of currently selected item in the list box if have one; * otherwise CB_ERR. */#define CB_GETCURSEL 0xF147/** * \def CB_GETLBTEXT * \brief Retreives the string of an item in the list box. * * An application sends a CB_GETLBTEXT message to retreive the string of * a specified item in the list box of a combo box. * * \code * CB_GETLBTEXT * 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. * * \return One of the following values: * - CB_OKAY\n Success. * - CB_ERR\n Invalid item index. */#define CB_GETLBTEXT 0xF148/** * \def CB_GETLBTEXTLEN * \brief Gets the string length of an item in the list box. * * An application sends a CB_GETLBTEXTLEN message to get the string length * of a specified item in the list box of a combo box. * * \code * CB_GETLBTEXTLEN * int index; * * wParam = (WPARAM)index; * lParam = 0; * \endcode * * \param index The index of the specified item. * * \return The length of the string on success; otherwise CB_ERR. */#define CB_GETLBTEXTLEN 0xF149/** * \def CB_INSERTSTRING * \brief Inserts a string to the list box of a combo box. * * An application sends a CB_INSERTSTRING message to insert a string to the list * box of a combo box. Unlike the CB_ADDSTRING message, the CB_INSERTSTRING message * do not cause a list to be sorted. * * \code * CB_INSERTSTRING * int index; * char* string; * * wParam = (WPARAM)index; * lParam = (LPARAM)string; * \endcode * * \param index The index of the position at which to insert the string. * \param string Pointer to the null-terminated string to be added. * * \return The index of the new item on success, else the one of * the following error codes: * * - CB_ERRSPACE No memory can be allocated for new item. * - CB_ERR Invalid passed arguments. */#define CB_INSERTSTRING 0xF14A/** * \def CB_RESETCONTENT * \brief Removes all items from the list box and edit control. * * An application sends a CB_RESETCONTENT message remove all items from the list * box and edit control of a combo box. * * \code * CB_RESETCONTENT * * wParam = 0; * lParam = 0; * \endcode * * \return Always be zero. */#define CB_RESETCONTENT 0xF14B/** * \def CB_FINDSTRING * \brief Searchs the list box for an item beginning with the characters in a * specified string. * * An application sends a CB_FINDSTRING message to search the list box for an * item beginning with the characters in a specified string. * * \code * CB_FINDSTRING * int indexStart; * char* string; * * wParam = (WPARAM)indexStart; * lParam = (LPARAM)string; * \endcode * * \param indexStart Index of the item preceding the first item to be searched. * \param string Pointer to the null-terminated string that contains the prefix * to search for. * * \return The index of the matching item or CB_ERR to indicate not found. */#define CB_FINDSTRING 0xF14C#define CB_SELECTSTRING 0xF14D/** * \def CB_SETCURSEL * \brief Selects a string in the list of a combo box. * * \code * CB_SETCURLSEL * int index; * * wParam = (WPARAM)index; * lParam = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -