Panel Kütüphanesi ile derleme

Panel kütüphanesi işlevlerini kullanabilmek için panel.h başlık dosyası programa dahil edilmeli ve programı panel kütüphanesi ile ilintili derlemek için -lpanel -lncurses seçenekleri kullanılmalıdır.

#include <panel.h>.
.
.

derleme ve ilintileme: gcc program dosyası -lpanel -lncurses

Örnek 5.19. Panellerin temelleri

#include <panel.h>

int main()
{ WINDOW *my_wins[3];
  PANEL  *my_panels[3];
  int lines = 10, cols = 40, y = 2, x = 4, i;

  initscr();
  cbreak();
  noecho();

  /* Paneller için pencereler oluşturun */
  my_wins[0] = newwin(lines, cols, y, x);
  my_wins[1] = newwin(lines, cols, y + 1, x + 5);
  my_wins[2] = newwin(lines, cols, y + 2, x + 10);

  /*
   * Pencereler etrafında çerçeve oluşturun
   * böylece Panel etkilerini görebilirsiniz
   */
  for(i = 0; i < 3; ++i)
          box(my_wins[i], 0, 0);

  /* Her pencereyi bir panele bağlayın. Sıralama alttan üste doğru */
  my_panels[0] = new_panel(my_wins[0]);   /* 0'a  it, sıra: stdscr-0 */
  my_panels[1] = new_panel(my_wins[1]);   /* 1'e  it, sıra: stdscr-0-1 */
  my_panels[2] = new_panel(my_wins[2]);   /* 2'ye it, sıra: stdscr-0-1-2 */

  /* Yığın sıralamasını güncelle. 2. panel en üstte olacak */
  update_panels();

  /* Ekranda göster */
  doupdate();

  getch();
  endwin();
}

Gördüğünüz gibi yukarıdaki program açıklandığı gibi basit bir akış takip etmektedir. Pencereler newwin() ile oluşturulup new_panel() ile panellere bağlanmıştır. Bir paneli diğeri ardına bağladığımızda, panel yığını güncellenmektedir. Bunları ekrana yazdırmak için update_panels() ve göstermek için doupdate() işlevleri çağrılmıştır.