60 lines
878 B
C
60 lines
878 B
C
|
|
#ifndef MYWIN_BUTTON_H__
|
|||
|
|
#define MYWIN_BUTTON_H__
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//定义按键按下的消息
|
|||
|
|
#define BUTTON_PRESSED 0x00000001
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//按钮,继承自MYWIN框架
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
WIN_WindowStruct win;
|
|||
|
|
int press; //按钮状态
|
|||
|
|
char *key; //按钮上显示
|
|||
|
|
void (*pressShortFun)(void *ptr);//按钮短按之后调用
|
|||
|
|
void *shortFunPtr;//短按调用函数的参数
|
|||
|
|
}WIN_ButtonStruct;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//在堆中创建一个按钮
|
|||
|
|
WIN_ButtonStruct *WIN_CreatButton (WIN_WindowStruct *base,
|
|||
|
|
void (*msgLoop)(struct _WIN_WindowStruct *win,WIN_MsgStruct *msg),
|
|||
|
|
int x,int y,int x_size,int y_size);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//设置按键的字符
|
|||
|
|
void BUTTON_SetKeyString (WIN_ButtonStruct *button,char *key);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//默认绘制函数
|
|||
|
|
void BUTTON_DefaultPaint (WIN_ButtonStruct *button);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//默认消息处理函数
|
|||
|
|
void BUTTON_DefaultMsgLoop (WIN_ButtonStruct *button,WIN_MsgStruct *msg);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|