You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
}<br />
<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />
/* Menüyü ekrandan sil ve tahsis ed<strong>ile</strong>n belle˘gi geri ver */<br />
unpost_menu(my_menu);<br />
free_menu(my_menu);<br />
for(i = 0; i < n_choices; ++i)<br />
free_item(my_items[i]);<br />
endwin();<br />
void print_in_middle(WINDOW *win, int starty, int startx, int width,<br />
char *string, chtype color)<br />
{ int length, x, y;<br />
float temp;<br />
}<br />
if(win == NULL)<br />
win = stdscr;<br />
getyx(win, y, x);<br />
if(startx != 0)<br />
x = startx;<br />
if(starty != 0)<br />
y = starty;<br />
if(width == 0)<br />
width = 80;<br />
length = strlen(string);<br />
temp = (width – length)/ 2;<br />
x = startx + (int)temp;<br />
wattron(win, color);<br />
mvwprintw(win, y, x, "%s", string);<br />
wattroff(win, color);<br />
refresh();<br />
Bu örnek bir ba¸slık, çerçeve ve ö˘gelerle ba¸slı˘gı ayıran ho¸s bir çizgiye sahip bir menü olu¸sturur. Gördü˘günüz<br />
gibi, bir pencereyi bir menüye ili¸siklendirmek için set_menu_win() i¸slevi kullanılmak zorundadır. Böylece<br />
alt pencereyi de ba˘glamı¸s oluruz. Bu, ö˘geleri alt pencerede gösterir. Seç<strong>ile</strong>n ö˘genin sol tarafında gözüken<br />
i¸saretleme dizgesini set_menu_mark() <strong>ile</strong> ayarlayabilirsiniz.<br />
17.5. Kaydırılab<strong>ile</strong>n Menüler<br />
E˘ger pencere için olu¸san alt pencere tüm ö˘geler için yeterince büyük de˘gilse o zaman menü kaydırılabilir olur.<br />
O anki listedeki son ö˘gede oldu˘gunuzda e˘ger REQ_DOWN_ITEM iste˘gini gönderirseniz REQ_SCR_DLINE’e<br />
çevrilir ve menü bir adım a¸sa˘gı kayar. El <strong>ile</strong> de REQ_SCR_ isteklerini kaydırma i¸slemi için verebilirsiniz. Nasıl<br />
yapılab<strong>ile</strong>ce˘gine bakalım:<br />
Örnek 20. Kaydırılabilir Menü örne ˘gi<br />
#include <br />
#include <br />
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))<br />
#define CTRLD 4<br />
char *choices[] = {<br />
"Choice 1",<br />
"Choice 2",<br />
"Choice 3",<br />
http://belgeler.org Linux Kitaplı˘gı 56 / 90