| 
 | 
pad 的应用举例
测试代码: 
 #include <unistd.h> 
 #include <stdlib.h> 
 #include <curses.h> 
  
 int main() 
 { 
         WINDOW *pad_ptr; 
         int x, y; 
         int pad_lines; 
         int pad_cols; 
         char disp_char; 
  
         initscr(); 
         /*显示平面比终端的长宽都大 50 个字符宽度*/ 
         pad_lines = LINES + 50; 
         pad_cols = COLS + 50; 
         pad_ptr = newpad(pad_lines, pad_cols); 
  
         disp_char = 'a'; 
  
         for(x = 0; x < pad_lines; x++) { 
                 for(y = 0; y < pad_cols; y++) { 
                         mvwaddch(pad_ptr, x, y, disp_char); 
                         if(disp_char == 'z') disp_char = 'a'; 
                         else disp_char++; 
                 } 
         } 
         mvprintw(0,0, "The MAX LINES On This Terminal Is %d", LINES); 
         mvprintw(1,0, "The MAX COLS On This Terminal Is %d", COLS); 
         refresh(); 
  
         prefresh(pad_ptr, 0, 0, 2, 2, 9, 9); 
         sleep(2); 
         prefresh(pad_ptr, LINES + 5, COLS + 7, 5, 5, 21, 19); 
         sleep(2); 
         delwin(pad_ptr); 
         endwin(); 
         exit(EXIT_SUCCESS); 
 } 
 说明: 
上面我的终端可以容纳24行80列的字符。 
由 prefresh(pad_ptr, 0, 0, 2, 2, 9, 9)   可以看到,参数 (0,0) 表示要显示的内容从 (0,0) 坐标起,显示内容的多少限定在(2-9) 行,(2-9) 列这么一块区域里。 
prefresh(pad_ptr, LINES + 5, COLS + 7, 5, 5, 21, 19);  上一条语句效果一样,由上可见,{ (LINES+5),(COLS+7) }   表示的字符为 j 。 
 
程序运行如下图所示: 
![]()  |   
 
 
 
 |