📄 button.c
字号:
/*int get_str(WINDOW *textbox, char inputed_str[], int style, int num_limit, int input_limit)
NODE* link_get_node_by_key(C_CLASS LINKLIST* link,char* key,int (*condition)(void *p1,void *p2))
*/
int buttonCtl(WINDOW * winsure,WINDOW * cancle,int num,int ch)
{
int flag=0;
if(ch==KEY_DOWN||ch=='\t')
{
flag=++flag%num;
if(flag==0)
{
mvwprintw(wincancle,1,1," 退出 ");
wrefresh(wincancle);
}
if(flag==num-1)
{
mvwprintw(winsure,1,1," 确定 ");
wrefresh(winsure);
}
return flag;
}
if(ch==KEY_UP)
{
flag=abs(--flag)%num;
if(flag==num-2)
{
mvwprintw(wincancle,1,1," 退出 ");
wrefresh(wincancle);
}
if(flag==num-1)
{
mvwprintw(winsure,1,1," 确定 ");
wrefresh(winsure);
}
return flag;
}
if(ch==KEY_LEFT)
{
if(flag==num-1)
{
flag=abs(--flag)%num;
mvwprintw(wincancle,1,1," 退出 ");
wrefresh(wincancle);
return flag;
}
}
if(ch==KEY_RIGHT)
{
if(flag==num-2)
{
flag=++flag%num;
mvwprintw(winsure,1,1," 确定 ");
wrefresh(winsure);
return flag;
}
}
}
if(ch==10||ch==KEY_ENTER)
{
if(flag!=num-2&&flag!=num-1)
{
flag=++flag%num;
ChangWin(flag,winuser,winpassword,winsure,wincancle);
}
else if(flag==num-2)
{
}
else if(flag==num-1)
{
}
}
if(KEY_BACKSPACE==ch)
{
if(flag==0)
{
int len=strlen(user);
if(len>0)
{
user[len-1]='\0';
wprintw(winuser,"\b \b");
ChangWin(flag,winuser,winpassword,winsure,wincancle);
}
}
if(flag==1)
{
int len=strlen(password);
if(len>0)
{
password[len-1]='\0';
wprintw(winpassword,"\b \b");
ChangWin(flag,winuser,winpassword,winsure,wincancle);
}
}
}
if(isalnum(ch))
{
if(flag==0)
{
int len=strlen(user);
if(len<input_limt)
{
user[len]=ch;
wprintw(winuser,"%c",ch);
ChangWin(flag,winuser,winpassword,winsure,wincancle);
}
}
if(flag==1)
{
int len=strlen(password);
if(len<13)
{
password[len]=ch;
wprintw(winpassword,"*");
ChangWin(flag,winuser,winpassword,winsure,wincancle);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -