⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newtoolbar.h

📁 有了操作系统、TCP/IP协议栈、文件系统
💻 H
字号:
/** * \file newtoolbar.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: newtoolbar.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_NEWTOOLBAR_H#define _MGUI_CTRL_NEWTOOLBAR_H #ifdef __cplusplusextern "C" {#endif  /* __cplusplus */    /**     * \addtogroup controls     * @{     */    /**     * \defgroup ctrl_newtoolbar NewToolBar control     *     * \note You should pass information of the control through      * the argument \a dwAddData of \a CreateWindowEx function.     *     * \code     * NTBINFO ntb_info;     *     * CreateWindowEx (CTRL_TOOLBAR, ..., (DWORD) &ntb_info);     * \endcode     *     * \sa NTBINFO     *     * @{     *//** * \def CTRL_NEWTOOLBAR * \brief The class name of newtoolbar control. */#define CTRL_NEWTOOLBAR            ("newtoolbar")/** Structure of the newtoolbar control information */typedef struct _NTBINFO{    /** Images for displaying tool bar item. */    PBITMAP image;    /** Number of bitmap cells in the image. */    int nr_cells;    /**     * Number of cell columns in the image.     * It should be one of the following values:     *  - 0, 4\n     *  Four rows, the cells have normal, highlight, pushed, and disabled states.     *  - 1\n     *  The cells have only normal state.     *  - 2\n     *  The cells have normal and highlight states.     *  - 3\n     *  The cells have normal, highlight, and pushed states.     */    int nr_cols;    /**     * Width of bitmap cell. If w_cell is zero, it will be      * equal to (width_of_image / nr_cols).     */    int w_cell;    /**     * Height of bitmap cell. If h_cell is zero, it will be      * equal to (height_of_image / nr_cells).     */    int h_cell;    } NTBINFO;/** * \var typedef void (* HOTSPOTPROC)(HWND hwnd, int id, const RECT* cell, int x, int y) * \brief Type of the hotspot-clicked callback procedure. * * \param hwnd  The handle to the control. * \param id    The identifier of the button in the NewToolBar control. * \param cell  The rectangle of the button in screen coordinates. * \param x     The x-coordinate of the mouse down point. * \param y     THe y-coordinate of the mouse down point. */typedef void (* HOTSPOTPROC)(HWND hwnd, int id, const RECT* cell, int x, int y);#define NTB_TEXT_LEN        15#define NTB_TIP_LEN         255#define NTBIF_PUSHBUTTON    0x0001#define NTBIF_HOTSPOTBUTTON  0x0002#define NTBIF_SEPARATOR     0x0003#define NTBIF_CHECKBUTTON   0x0005#define NTBIF_NEWLINE       0x0008#define NTBIF_TYPEMASK      0x000F#define NTBIF_DISABLED      0x0010#define NTBIF_CHECKED       0x0020#define MTB_WHICH_FLAGS     0x0001#define MTB_WHICH_ID        0x0002#define MTB_WHICH_TEXT      0x0004#define MTB_WHICH_TIP       0x0008#define MTB_WHICH_CELL      0x0010#define MTB_WHICH_HOTSPOT   0x0020#define MTB_WHICH_ADDDATA   0x0040/** Structure of the new toolbar item info */typedef struct _NTBITEMINFO{    /**     * Which fields are valid when sets/retrives the item information      * (ignored when add item). It can be OR'd with the following values:     *     *  - MTB_WHICH_FLAGS\n     The flags is valid.     *  - MTB_WHICH_ID\n        The identifier is valid.     *  - MTB_WHICH_TEXT\n      The text is valid.     *  - MTB_WHICH_TIP\n       The tip text is valid.     *  - MTB_WHICH_CELL\n      The bitmap cell index is valid.     *  - MTB_WHICH_HOTSPOT\n   The hotspot rect is valid.     *  - MTB_WHICH_ADDDATA\n   The additional data is valid.     */    DWORD       which;    /**     * Flags of the item. It can be OR'd with the following values:     *     *  - NTBIF_PUSHBUTTON\n    The item is a normal push button.     *  - NTBIF_CHECKBUTTON\n   The item is a normal check button.     *  - NTBIF_NEWLINE\n       The item is a newline tag.     *  - NTBIF_HOTSPOTBUTTON\n The item is a menu button with hotspot.     *  - NTBIF_SEPARATOR\n     The item is a separator.     *  - NTBIF_DISABLED\n      The item is disabled.     */    DWORD       flags;    /**     * Identifier of the item. When the user clicked the item, this control     * will send a notification message to the parent window     * with the notification code to be equal to this identifier.     */    int         id;    /**     * Text of the item. This text will be displayed under the bitmap     * if the control have NTBS_WITHTEXT style.     */    char*       text;    /** Tooltip of the item, not used, reserved. */    char*       tip;    /** Index of bitmap cell. */    int         bmp_cell;    /** Hotpot-clicked callback procedure for menubutton. */    HOTSPOTPROC  hotspot_proc;    /** Rectangle region of hotspot in the cell. */    RECT        rc_hotspot;    /** Additional data of the item */    DWORD       add_data;} NTBITEMINFO;/** * \var PNTBITEMINFO * \brief Data type of pointer to a NTBITEMINFO; */typedef NTBITEMINFO* PNTBITEMINFO;    /**     * \defgroup ctrl_newtoolbar_styles Styles of NewToolBar control     * @{     *//** * \def NTBS_WITHTEXT  * \brief Displays text with the item bitmap.  */#define NTBS_WITHTEXT               0x000000001L/** * \def NTBS_TEXTRIGHT * \brief Displays text at the right side of the item bitmap.  */#define NTBS_TEXTRIGHT              0x000000002L/** * \def NTBS_DRAWSTATES * \brief Draws the button states with 3D frame, and does not *        use the highlight, pushed and disabled bitmap cell. */#define NTBS_DRAWSTATES             0x000000004L/** * \def NTBS_DRAWSEPARATOR * \brief Draws the separator bar. */#define NTBS_DRAWSEPARATOR          0x000000008L/** * \def NTBS_HORIZONTAL * \brief The NewToolbar will be displayed horizontally. */#define NTBS_HORIZONTAL             0x00000000L/** * \def NTBS_VERTICAL * \brief The NewToolbar will be displayed vertically. */#define NTBS_VERTICAL               0x00000010L/** * * \def NTBS_MULTLINE * \brief The Newtoolbar item will be displayed in several lines. * In this style , your should define the toolbar RECT in CreateWindwEx. */#define NTBS_MULTLINE               0x00000020L    /** @} end of ctrl_newtoolbar_styles */    /**     * \defgroup ctrl_newtoolbar_msgs Messages of NewToolBar control     * @{     */#define NTB_OKAY        0#define NTB_ERR         (-1)#define NTB_ERR_SPACE   (-2)#define NTB_ERR_DUPID   (-3)/** * \def NTBM_ADDITEM * \brief Adds an item to a newtoolbar. * * \code * TBM_ADDITEM * NTBITEMINFO *ntbii; * * wParam = 0; * lParam = (LPARAM)ntbii; * \endcode * * \param ntbii Pointer to the data storing the newtoobar item info. * * \return NTB_OKAY on success, else one of the following values: *      - NTB_ERR_SPACE\n No enongh space to allocate memory for new item. *      - NTB_ERR_DUPID\n Duplicated identifier with an existed item. */#define NTBM_ADDITEM            0xFE00/** * \def NTBM_GETITEM * \brief Retrives the information of an item in a newtoolbar control. * * \code * TBM_GETITEM * int id; * NTBITEMINFO *ntbii; * * wParam = id; * lParam = (LPARAM)ntbii; * \endcode * * \param id The identifier of the item. * \param ntbii Pointer to the data storing the newtoobar item info. * * \return NTB_OKAY on success, else NTB_ERR. */#define NTBM_GETITEM            0xFE01/** * \def NTBM_SETITEM * \brief Sets the information of an item in a newtoolbar control. * * \code * TBM_SETITEM * int id; * NTBITEMINFO ntbii; * * wParam = id; * lParam = (LPARAM)&ntbii; * \endcode * * \param id The identifier of the item. * \param ntbii The structure for storing the newtoobar item info. * * \return NTB_OKAY on success, else NTB_ERR. */#define NTBM_SETITEM            0xFE02/** * \def NTBM_ENABLEITEM * \brief Enables/Disables an item in a newtoolbar control. * * \code * NTBM_ENABLEITEM * int id; * BOOL enable; * * wParam = id; * lParam = enable; * \endcode * * \param id The identifier of the item. * \param enable True to enable item; false to disable item. * * \return NTB_OKAY on success, else NTB_ERR. */#define NTBM_ENABLEITEM         0xFE03/** * \def NTBM_SETBITMAP * \brief Sets the bitmap of  a newtoolbar control. * * \code * NTBM_SETBITMAP * NTBINFO ntbi; * * wParam = 0; * lParam = (LPARAM)&ntbi; * \endcode * * \param ntbi  The structure for storing the newtoobar info. * * \return NTB_OKAY on success, else NTB_ERR. */#define NTBM_SETBITMAP          0xFE04#define NTBM_MSGMAX             0xFE10    /** @} end of ctrl_newtoolbar_msgs */    /** @} end of ctrl_newtoolbar */    /** @} end of controls */#ifdef __cplusplus}#endif  /* __cplusplus */#endif /* _MGUI_CTRL_NEWTOOLBAR_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -