wacmenu.h

来自「一个DOS下的菜单」· C头文件 代码 · 共 57 行

H
57
字号

#include "../include/conapi.h"


#define BASIC_COLOR			BACKGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY
#define BUTTON_COLOR		BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
#define BUTTON_BORDER_COLOR	BACKGROUND_BLUE
#define CAPTION_COLOR		FOREGROUND_INTENSITY
#define TITLE_COLOR			BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_INTENSITY
#define REMARK_COLOR		FOREGROUND_GREEN |  FOREGROUND_INTENSITY | BACKGROUND_BLUE
#define STATUS_COLOR		BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_INTENSITY
#define HIGHKEY_COLOR		BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED | FOREGROUND_INTENSITY
#define BUTTON_COUNT		14

LPBYTE	g_pScrBuf = NULL;
HANDLE	g_hStdOut = NULL;
char	g_ExePath[MAX_PATH];


typedef struct _BUTTON{
	char*	m_ButtonName;
	int		m_ButtonX;
	int		m_ButtonY;
	int		m_ButtonLen;
	char*	m_Remark;
	int		m_HighKey;
}BUTTON;

class WINDOW{
protected:
public:
	int		m_NewDefaultButton;
	int		m_OldDefaultButton;
	int		m_NewMousePosButton;	//为-1时:表示没有指向按钮
	int		m_OldMousePosButton;
	int		m_CheckButton;			//为-1时:表示没有选择的按钮
	BOOL	m_bPushed;				//看Button是否有被按下
public:
	BOOL	SetDefaultButton(int);
	void	RedrawButton(int);
	void	DrawRemark(int);
//	void	ClearRemark();
	BOOL	SetMousePosButton(int);
	BOOL	SetCheckButton(int);
	int		GetButtonID(int PosX,int PosY);	//返回值为-1时,表示该坐标不属于任何Button
};
BOOL StartApp(LPCSTR AppName);
void RestoreScreen();
void SaveScreen();
BOOL ProcCheckButton(int SelectID);

CONSOLE_SCREEN_BUFFER_INFO g_Buffer;
int g_PosX = 0;
int g_PosY = 0;
int g_StepX = 0;
int g_StepY = 0;

⌨️ 快捷键说明

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