2025-06-27 00:32:57 +08:00
|
|
|
|
#ifndef MYWIN_MSGBOX_H__
|
|
|
|
|
|
#define MYWIN_MSGBOX_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include "mywin_inc.h"
|
|
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><>Ϣ<EFBFBD>Ի<EFBFBD><D4BB>̳<F2A3ACBC><CCB3><EFBFBD>MYWIN<49><4E><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
|
#define MSGBOX_ITEM_MAXNUM 10
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define MSGBOX_ITEM_MAXLEN 50
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
typedef struct {
|
|
|
|
|
|
WIN_WindowStruct win;
|
2025-10-18 01:02:27 +08:00
|
|
|
|
uint32_t titleTxtColor;
|
|
|
|
|
|
uint32_t titleRectColor;
|
|
|
|
|
|
uint32_t tipRectColor;
|
|
|
|
|
|
uint32_t butRectColor;
|
2025-07-06 18:46:13 +08:00
|
|
|
|
int press;
|
|
|
|
|
|
char *title;
|
|
|
|
|
|
char *msg;
|
|
|
|
|
|
char *key;
|
|
|
|
|
|
char *key2;
|
|
|
|
|
|
char items[MSGBOX_ITEM_MAXNUM][MSGBOX_ITEM_MAXLEN];
|
|
|
|
|
|
int itemNum;
|
|
|
|
|
|
int index;
|
|
|
|
|
|
int y_step; // ѡ<><D1A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
|
|
|
|
|
|
} WIN_MsgboxStruct;
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20>ڶ<EFBFBD><DAB6>д<EFBFBD><D0B4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
WIN_MsgboxStruct *WIN_CreatMsgbox(WIN_WindowStruct *base,
|
|
|
|
|
|
void (*msgLoop)(struct _WIN_WindowStruct *win,
|
|
|
|
|
|
WIN_MsgStruct *msg),
|
|
|
|
|
|
int x, int y, int x_size, int y_size);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><>Ϣ<EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|
|
|
|
|
void MSGBOX_SetTitle(WIN_MsgboxStruct *msgbox, char *title);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><>Ϣ<EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void MSGBOX_SetMsg(WIN_MsgboxStruct *msgbox, char *msg);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><>Ϣ<EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><C3B0><EFBFBD>
|
|
|
|
|
|
void MSGBOX_SetKey(WIN_MsgboxStruct *msgbox, char *key);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
void MSGBOX_SetKey2(WIN_MsgboxStruct *msgbox, char *key);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
|
void MSGBOX_AddItem(WIN_MsgboxStruct *msgbox, char *item);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><>Ϣ<EFBFBD><CFA2><EFBFBD>Ļ<EFBFBD><C4BB>ƺ<EFBFBD><C6BA><EFBFBD>
|
|
|
|
|
|
void MSGBOX_DefaultPaint(WIN_MsgboxStruct *msgbox);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void MSGBOX_defaultMsgLoop(WIN_MsgboxStruct *msgbox, WIN_MsgStruct *msg);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
|
|
|
|
|
|
int MSGBOX_Tips(WIN_WindowStruct *base, char *title, char *msg, char *key);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>,<2C><>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>˳<EFBFBD>
|
|
|
|
|
|
int MSGBOX_TipsTime(WIN_WindowStruct *base, char *title, char *msg, char *key,
|
2025-10-18 01:02:27 +08:00
|
|
|
|
uint32_t ms);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>ѯ<EFBFBD>ʿ<CABF><F2A3ACB0><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
|
|
|
|
|
int MSGBOX_Inquiry(WIN_WindowStruct *base, char *title, char *msg, char *key,
|
|
|
|
|
|
char *key2);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><F2A3ACB0><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1
|
|
|
|
|
|
int MSGBOX_Select(WIN_WindowStruct *base, char *title, char **item, int itemNum,
|
|
|
|
|
|
char *key, char *key2);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
|
|
|
|
|
#endif
|