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

📄 q_radiobutton.cpp

📁 QCurses全部代码 QCurses全部代码
💻 CPP
字号:
#include    "qcurses/Q_RadioButton.hpp"/*######################################### 函数功能:析构函数                     ## 返 回 值:NULL                         ## 函数参数:NULL                         #########################################*/Q_RadioButton::~Q_RadioButton(){	delete [] Text;}//------------------------------------------------------------------------------------------/*######################################### 函数功能:构造函数                     ## 返 回 值:NULL                         ## 函数参数:WINDOW   *vMainWin  主窗口   ##           int      vWidth     宽度     ##           int      vYBegin    起始y    ##           int      vXBegin    起始x    ##           int      vCFront    文字颜色 ##           int      vCBack     背景色   #########################################*/Q_RadioButton::Q_RadioButton(WINDOW  *vMainWin,int  vWidth,int  vYBegin,int  vXBegin,int  vCFront,int  vCBack):Q_Object(vMainWin,  1,  vWidth,  vYBegin,  vXBegin,   false,  vCFront,  vCBack){	Value = false;	strcpy(vValue,"○");	mvwprintw(WorkWin,0,0,"%s 按钮",vValue);	wrefresh(WorkWin);	Text = new char[90];	memset(Text,'\0',90);	strcpy(Text,"按钮");}//------------------------------------------------------------------------------------------/*######################################### 函数功能:设置显示                     ## 返 回 值:NULL                         ## 函数参数:char    *format 字符格式     ##                   ...     具体字符串   #########################################*/void      Q_RadioButton::Set(const  char   *format,...){	//赋值	va_list  ap;	va_start (ap,format);	if(vsprintf(Text,format,ap)<0)		strcpy(Text,"TooLong");	va_end(ap);	if (Value)		strcpy(vValue,"●");	else		strcpy(vValue,"○");	mvwprintw(WorkWin,0,0,BlankSpace);	mvwprintw(WorkWin,0,0,"%s %s",vValue,Text);	wrefresh(WorkWin);}//------------------------------------------------------------------------------------------/*######################################### 函数功能:控件取值                     ## 返 回 值:最后键盘输入                 ## 函数参数:NULL                         #########################################*/int       Q_RadioButton::Get(){	wattron(WorkWin,A_REVERSE);	mvwprintw(WorkWin,0,0,BlankSpace);	mvwprintw(WorkWin,0,0,"%s %s",vValue,Text);	for (; ; )	{		GetKey();		if (NowKey==10 || NowKey==32)   //回车或者空格			break;		if (NowKey == 9 || NowKey == KEY_UP || NowKey == KEY_DOWN || NowKey==KEY_LEFT || NowKey==KEY_RIGHT)		{			wattroff(WorkWin,A_REVERSE);			if (Value)				strcpy(vValue,"●");			else				strcpy(vValue,"○");			mvwprintw(WorkWin,0,0,BlankSpace);			mvwprintw(WorkWin,0,0,"%s %s",vValue,Text);			wrefresh(WorkWin);			return(NowKey);		}	}	wattroff(WorkWin,A_REVERSE);	if (Value)	{		Value = false;		strcpy(vValue,"○");	}	else	{		Value = true;		strcpy(vValue,"●");	}	mvwprintw(WorkWin,0,0,BlankSpace);	mvwprintw(WorkWin,0,0,"%s %s",vValue,Text);	wrefresh(WorkWin);	return(NowKey);}

⌨️ 快捷键说明

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