Files
player/Project/Src/MyWin/Window/mywin_msgbox.h

73 lines
1.9 KiB
C
Raw Normal View History

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;
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,
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