📄 hscroll.c
字号:
#include "hscroll.h"int HScroll::InitHScroll(int Y,int X,int Height,int Width,int Color,int FontStyle,int WinType){ if(InitBaseWindow(Y,X,Height,Width,Color,0,FontStyle,WinType,"")==FALSE) return FALSE; //draw_box (0,0,Height,Width, COLOR_PAIR(Color)|'-',COLOR_PAIR(Color)); wborder(basewin,ACS_HLINE,ACS_HLINE,ACS_HLINE,ACS_HLINE,ACS_HLINE,ACS_HLINE,0,0); curs_set(0); posSymbol='#'; curPos=0; wrefresh(basewin); return TRUE;}int HScroll::ChangePos(int totalcol,int curcol){ int unit=(int)(totalcol/GetWidth())+1; int newpos; if(curcol+1==totalcol) newpos=GetWidth()-2; else newpos=(int)(curcol/unit); if (curPos==newpos) goto out; //mvwaddch(basewin,0,curPos,COLOR_PAIR(GetColor())|'-'); wborder(basewin,ACS_HLINE,ACS_HLINE,ACS_HLINE,ACS_HLINE,ACS_HLINE,ACS_HLINE,0,0); mvwaddch(basewin,0,newpos,posSymbol|A_REVERSE); curPos=newpos; wrefresh(basewin);out: return 1;}int HScroll::ChangePos(){ mvwaddch(basewin,0,curPos,posSymbol|A_REVERSE); wrefresh(basewin); return 1;}int HScroll::GetCurPos(){ return curPos;}int HScroll::ScrollDriver(int key){ int ret=0; switch(key) { case KEY_LEFT: if(curPos>0) { curPos--; ChangePos(); } break; case KEY_RIGHT: if (curPos<GetWidth()-1) { curPos++; ChangePos(); } break; case KEY_UP: break; case KEY_DOWN: break; case KEY_F(8): break; case KEY_ENTER: break; } return ret;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -