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

📄 ebcontrol.h

📁 基于minigui开发的一套图形控件系统
💻 H
📖 第 1 页 / 共 5 页
字号:
 * \def LVM_GETSELECTEDITEM

 * \brief Gets the current selected item. This message is a internal message of listview.

 *

 * \code

 * LVM_GETSELECTEDITEM

 * \endcode

 *

 * \return the current selected item.

 */

#define ELVM_GETSELECTEDITEM    0xF11C



/**

 * \def LVM_DELALLITEM

 * \brief Removes all the items in listview.

 *

 * \code

 * LVM_DEALLITEM

 * \endcode

 */

#define ELVM_DELALLITEM           0xF11D



/**

 * \def LVM_MODIFYHEAD

 * \brief Changes the title of a column.

 *

 * \code

 * LVM_MODIFYHEAD

 * \endcode

 *

 */

#define ELVM_MODIFYHEAD           0xF11E



//设置控件的背景色

//add by tjb

//wparam = newcolor

#define ELVM_SETBKCOLOR           0xF11F



//设置某个ITEM是否被选中

/*

* \code 

 * int p;    //哪一行将被置为选中状态

 * lParam = (LPARAM)p;

 * \endcode

 */

#define ELVM_SETITEMSELECTED           0xF120



//当风格有EVLS_USECHECKBOX时,设置checkbox 的图片

//lparam = (LPARAM)szName;

//

#define ELVM_SETCHECKBOXIMG         0xF121



//iRows是否选中,选中返回1, 若无选中行返回0

//int iRows

//lParam = (LPARAM)iRows

#define ELVM_GETROWCHECKED			0xF122



//

/*

     获取当前哪一行处于鼠标经过状态

*/

#define  ELVM_GETMOUSEOVERITEM                  0xF123





//

/*

     设置某一行为鼠标经过状态

     int p =(int)lParam;

     出错返回-1

*/

#define  ELVM_SETMOUSEOVERITEM                  0xF124



//获取当前处于鼠标经过状态的那一行距离可见的第一行有几行

//如果当前没有哪一行处于鼠标经过状态则返回 -1

#define  ELVM_GETMOUSEOVER_OFFSET               0xF125



//设置距离可见的第一行p行的那一行处于鼠标经过状态

/*

          int p2 =(int)lParam;

          出错返回-1

*/

#define  ELVM_SETMOUSEOVER_OFFSET               0xF126



//自定义的按键按下消息,类似MSG_KEYDOWN但不同的是它能返回数据

/*

    它的wParam跟MSG_KEYDOWN一样也有SCANCODE_ENTER,SCANCODE_CURSORBLOCKLEFT,

    SCANCODE_CURSORBLOCKRIGHT,SCANCODE_CURSORBLOCKDOWN,SCANCODE_CURSORBLOCKUP

    ,SCANCODE_PAGEUP等

*/

#define  ELVM_MSG_KEYDOWN                       0xF127



//设置可见行 wparam = visable row

#define  ELVM_SETVISABLEROW						0xF128



    /** @} end of mgext_ctrl_listview_msgs */



    /**

     * \defgroup mgext_ctrl_listview_ncs Notification code of ListView control

     * @{

     */



/**

 * \def LVN_ADDITEM

 * \brief This notification code informs parent window a certain item (row) added.

 */

#define ELVN_ADDITEM            1



/**

 * \def LVN_ADDITEM

 * \brief This notification code informs parent window a certain item (row) removed.

 */

#define ELVN_DELITEM            2



/**

 * \def LVN_ADDCOLUMN

 * \brief This notification code informs parent window a certain column added.

 */

#define ELVN_ADDCOLUMN           3



/**

 * \def LVN_DELCOLUMN

 * \brief This notification code informs parent window a certain column removed.

 */

#define ELVN_DELCOLUMN          4



/**

 * \def LVN_ITEMCOLORCHANGED

 * \brief This notification code informs parent window a certain item's color changed.

 */

#define ELVN_ITEMCOLORCHANGED   5



/**

 * \def LVN_DELALLITEM

 * \brief This notification code informs parent window all items removed.

 */

#define ELVN_DELALLITEM         6



/**

 * \def LVN_SELCHANGE

 * \brief This notification code informs parent window the current selected item 

 *        has changed.

 */

#define ELVN_SELCHANGE          7



/**

 *

 * \def LVN_ITEMDBCLK

 * \brief This notification code informs parent window the current selected item 

 *        has be double clicked.

 */

#define ELVN_ITEMDBCLK          8



/**

 * \def LVN_CRKEYDOWN

 * \brief This notification code informs parent window the ENTER key has been pressed.

 */

#define ELVN_CRKEYDOWN          9

#define ELVN_VSCROLL			10

//当前控件从没有鼠标经过状态转为有鼠标经过状态

#define ELVN_ITEMMOUSEOVERED            11

//当前控件由处于鼠标经过状态转为失去鼠标

#define ELVN_NCITEMMOUSEOVERED            12



#define ELV_TEXT		1

#define ELV_BITMAP		2

#define ELV_BMPFILE		3

#define ELV_ICON		4

#define ELV_BOTH		5		//add by tjb 2004-4-14

								//该风格既有图片,又有文字

/** @} end of mgext_ctrl_listview_ncs */



/****** Checkbox Control ******************************************************/

    /**

     * \defgroup Checkbox control

     * @{

     */



#define CTRL_EBCHECKBOX         ("ebcheckbox")

  

/** * \defgroup ctrl_Checkbox_styles Styles of button control*/

/***/

#define ECBS_CHECKBOX		0x00000001L//选择框

#define ECBS_RADIOBOX       0x00000002L//单选框

#define ECBS_TYPEMASK       0x0000000FL



/**/

#define ECBS_DEFAULT		0x00000000L//使用系统默认的图片 

#define ECBS_BMPFILE        0x00000010L//自定义图片

#define ECBS_STYLEMASK       0x000000F0L



#define ECBS_BKALPHA		0x00000100L//背景透明否



/** @} end of ctrl_Checkbox_styles */

  

/*** \defgroup ctrl_Checkbox_states States of button control*/



#define ECBT_UNCHECKED      0x0000//未选中

#define ECBT_CHECKED        0x0001//选中

#define ECBT_INDETERMINATE	0x0002//无效

#define ECBT_MASK			0x000F

/** @} end of ctrl_button_states */



/*** \defgroup ctrl_Checkbox_msgs Messages of button control */



/**

 * \def ECBM_GETCHECK

 * \brief Retrieves the check state of a radio button or check box.

 *

 * An application sends a BM_GETCHECK message to retrieve 

 * the check state of a radio button or check box.

 *

 * \code

 * ECBM_GETCHECK

 * wParam = 0;

 * lParam = 0;

 * \endcode

 *

 * \return An integer indicates whether the button is checked.

 *

 * \retval BST_UNCHECKED The button is not checked.

 * \retval BST_CHECKED The button is checked.

 * \retval BST_INDETERMINATE The button is grayed because the state of the button is indeterminate.

 *

 * \sa ctrl_button_states

 */

#define ECBM_GETCHECK             0xF0F0



/**

 * \def ECBM_SETCHECK

 * \brief Sets the check state of a radio button or check box.

 *

 * An application sends a BM_SETCHECK message to set 

 * the check state of a radio button or check box.

 *

 * \code

 * ECBM_SETCHECK

 * int check_state;

 *

 * wParam = (WPARAM)check_state;

 * lParam = 0;

 * \endcode

 *

 * \param check_state The check state of button, can be one of the following values:

 *      - BST_UNCHECKED\n

 *        Want the button to be unchecked.

 *      - BST_CHECKED\n

 *        Want the button to be checked.

 *      - BST_INDETERMINATE\n

 *        Want the button to be grayed if it is a three states button.

 */

#define ECBM_SETCHECK             0xF0F1



/**

 * \def ECBM_GETSTATE

 * \brief Gets the state of a button or check box.

 *

 * An application sends a BM_GETSTATE message to 

 * determine the state of a button or check box.

 *

 * \code

 * ECBM_GETSTATE

 * wParam = 0;

 * lParam = 0;

 * \endcode

 *

 * \return An integer indicates the button state.

 *

 * \sa ctrl_button_states

 */

#define ECBM_GETSTATE             0xF0F2



/**

 * \def ECBM_SETSTATE

 * \brief Sets the state of a button.

 *

 * An application sends a BM_GETSTATE message to set the state of a 

 * button.

 *

 * \code

 * BM_SETSTATE

 * int push_state;

 *

 * wParam = (WPARAM)push_state;

 * lParam = 0;

 * \endcode

 *

 * \param push_state The push state of a button, can be one of the following values:

 *      - Zero\n

 *        Want the button to be unpushed.

 *      - Non zero\n

 *        Want the button to be pushed.

 */

#define ECBM_SETSTATE             0xF0F3



/**

 * \def BM_SETSTYLE

 * \brief Changes the style of a checkbox.

 *

 * An application sends a BM_SETSTYLE message to change the style of a button.

 *

 * \code

 * BM_SETSTYLE

 * int button_style;

 *

 * wParam = (WPARAM)checkbox_style;

 * lParam = 0;

 * \endcode

 *

 * \param button_style The styles of a checkbox:

 *

 * \sa ctrl_checkbox_styles

 */

#define ECBM_SETSTYLE             0xF0F4



/**

 * \def ECBM_CLICK

 * \brief Simulates the user clicking a button.

 *

 * An application sends a BM_CLICK message to simulate the user clicking a button.

 *

 * \code

 * ECBM_CLICK

 *

 * wParam = 0;

 * lParam = 0;

 * \endcode

 */

#define ECBM_CLICK                0xF0F5



#define ECBM_SETTEXTCOLOR		0xF0F7

#define ECBM_GETTEXTCOLOR		0xF0F8

   

/** @} end of ctrl_checkbox_msgs */

    

    /**

     * \defgroup ctrl_checkbox_ncs Notification codes of button control

     * @{

     */



/**

 * \def ECBN_CLICKED

 * \brief The ECBN_CLICKED notification message is sent when the user clicks a button.

 */

#define ECBN_CLICKED          0



#define ECBN_PAINT            1

#define ECBN_HILITE           2

#define ECBN_UNHILITE         3

#define ECBN_DISABLE          4

#define ECBN_DOUBLECLICKED    5



/**

 * \def ECBN_PUSHED

 * \brief The BN_PUSHED notification message is sent when the user pushes a button.

 */

#define ECBN_PUSHED           BBN_HILITE



/**

 * \def ECBN_UNPUSHED

 * \brief The BN_UNPUSHED notification message is sent when the user unpushes a button.

 */

#define ECBN_UNPUSHED         BBN_UNHILITE



/**

 * \def ECBN_DBLCLK

 * \brief The BN_DBLCLK notification message is sent when the user double-clicks a button.

 */

#define ECBN_DBLCLK           BBN_DOUBLECLICKED



/** @} end of ctrl_checkbox */





/********************************************

 * \def CTRL_PLAYGIF

 * \brief The class name of static control.

 */

#define CTRL_PLAYGIF         ("playgif")



typedef struct tagPlayGifData

{

	char * 	giffile;

	char *  bkfile;

	int 	gifx;

	int 	gify;

}PLAYGIFDATA;

typedef PLAYGIFDATA * PPLAYGIFDATA;



#define GFS_BKTRANSPARENT	0x00000001	//背景透明,不用画背景

#define GFS_BKTRANSIMAGE	0x00000002	//背景为透明图片

#define GFS_BKNOTRANSFILE	0x00000004	//背景为不透明图片

#define GFS_BKSAVEBITMAP	0x00000008	//把图片装载后,保存图片结构直到控键销毁



#define GFS_CENTER			0x00000010

#define GFS_RIGHT			0x00000020

#define GFS_VCENTER			0x00000040

#define GFS_BOTTOM			0x00000080



#define GFS_NOLOOPFIRST		0x00000100	// 第一幅图片不参与循环

#define GFS_NORMALGIF		0x00000200	// 正常GIF ,与九宫图GIF相区别,及不用获得焦点就播放动画



#define GFS_GIFNORMAL		0x00001000	//组成GIF的图片画时的风格

#define GFS_GIFALPHA		0x00002000

#define GFS_GIFALPHAVALUE	0x00004000

#define GFS_GIFALPHACHANNEL	0x00008000



#define GFSS_UNFOCUS		0x0000		//未获得焦点

#define GFSS_FOCUS			0x0001		//获得焦点



#define GFM_NEXTIMAGE       0xF0F0

#define GFM_GETTIMES		0xF0F1

#define GFM_SETTIMER		0xF0F2		//设定定时器,使GIF变成动态

#define GFM_KILLTIMER		0xF0F3		//删除定时器,使GIF变成静态



#define GFN_SETFOCUS		0xF0F4		//通知获得焦点

#define GFN_KILLFOCUS		0xF0F5		//通知失去焦点

#define GFN_CLICKED			0xF0F6



/**

 * \def GFM_CHANGEGIF

 * \改变gif图片

 * \code

 * GFM_CHANGEGIF

 *

 * wParam = 0;

 * lParam = (LPARAM) pPlaygifData;

 * \endcode

 */

#define GFM_CHANGEGIF		0xF0F7



    /**

     * 

     * 

**********************************************/







/********************************/

#define CTRL_EBFLASHPLAYER         ("ebflashplayer")

typedef struct tagFlashPlayerAddData

{	

	int         IsSound; 		// 决定是否播放声音	

	int         timer_id; 		// 定时器ID	

	char *      url; 			//文件名,或者路径

}FLASHPLAYERADDDATA;



/*wp:url,lp=bsound*/

#define FLP_PLAYFILE        0xF0F1

#define FLP_STOPFILE        0xF0F2

#define FLP_PAUSEFILE       0xF0F3

#define FLP_REWINDFILE      0xF0F4



/*************************************/



BOOL InitEbControl ( void );

void EbControlCleanUp (void);



void CtrlDrawPictrueToBK(HDC hdc, RECT * rect, const char * picname, int bmtype, int alpha);

extern BOOL RefreshChildInParent(HWND hwnd);

extern int GetFontCCharWidth (PLOGFONT font);

extern int GetFontCharWidth (PLOGFONT font);



extern BOOL RegisterPlayGifControl (void);

extern void PlayGifControlCleanup (void);



#ifdef __cplusplus

}

#endif



#endif



⌨️ 快捷键说明

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