亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 在unix下用c編寫curses程序的一些常用模塊.htm

?? curses界面編程
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
	<tr><td valign=top><br>		總有人問這個問題,下面是整理的模塊代碼,可以作為編程的參考demo。
<br>
<br>幾個部分可以連接起來編譯程可執行程序運行。
<br>
<br>初始化資源
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;initial&#40;&#41;&nbsp;/*&nbsp;自定開啟&nbsp;curses&nbsp;函式&nbsp;*/&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;initscr&#40;&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;cbreak&#40;&#41;;&nbsp;nonl&#40;&#41;;&nbsp;noecho&#40;&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;intrflush&#40;stdscr,FALSE&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;keypad&#40;stdscr,TRUE&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;refresh&#40;&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;按鍵等待函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;keycont&#40;&#41;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;fprintf&#40;stderr,&nbsp;&quot;按鍵繼續...&quot;&#41;;&nbsp;getchar&#40;&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;運行可執行程序函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;execprog&#40;&#41;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;system&#40;&quot;clear&quot;&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;fprintf&#40;stderr,&nbsp;&quot;%s&#58;&nbsp;\n&quot;,&nbsp;scrpos-&gt;item&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;system&#40;scrpos-&gt;prog&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;keycont&#40;&#41;;&nbsp;initial&#40;&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;touchwin&#40;boxwin&#41;;&nbsp;touchwin&#40;curw&#41;;&nbsp;keypad&#40;curw,&nbsp;TRUE&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wrefresh&#40;boxwin&#41;;&nbsp;wrefresh&#40;curw&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;清除窗口函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;clearwin&#40;&#41;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wmove&#40;boxwin,&nbsp;0,&nbsp;0&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wclrtobot&#40;boxwin&#41;;&nbsp;wrefresh&#40;boxwin&#41;;&nbsp;delwin&#40;curw&#41;;&nbsp;delwin&#40;boxwin&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>
<br>/*&nbsp;主函數&nbsp;*/&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>main&#40;&#41;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;initial&#40;&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;getmenuconf&#40;0&#41;;&nbsp;/*&nbsp;取第0號菜單參數&nbsp;*/&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;創建主窗口&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;menuwin=newwin&#40;m_conf.m_lengh,&nbsp;m_conf.m_wight,&nbsp;m_conf.m_bx+1,&nbsp;m_conf.m_by+1&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;curw=menuwin;&nbsp;lastw&#91;wno&#93;=menuwin;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;getitem&#40;&#41;;&nbsp;/*&nbsp;取當前菜單各項內容&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;domenu&#40;head,&nbsp;0&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;endwin&#40;&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;取菜單各項參數函數&nbsp;*/&nbsp;&nbsp;
<br>
<br>[code:1:b2615b2355]
<br>
<br>void&nbsp;getitem&#40;&#41;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;FILE&nbsp;*fp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;buff&#91;0x100&#93;;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;建邊框窗口&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;boxwin=newwin&#40;m_conf.m_lengh+2,m_conf.m_wight+2,m_conf.m_bx,m_conf.m_by&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;keypad&#40;curw,&nbsp;TRUE&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;m_conf.bord_flag==1&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	box&#40;boxwin,&nbsp;0,0&nbsp;&#41;;&nbsp;&nbsp;
<br>	wrefresh&#40;boxwin&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;head=NULL;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&#40;fp&nbsp;=&nbsp;fopen&#40;&quot;./menu.def&quot;,&quot;r&quot;&#41;&#41;&nbsp;==&nbsp;NULL&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	fprintf&#40;stderr,&nbsp;&quot;\n不能打開菜單定義文件\n&quot;&#41;;&nbsp;&nbsp;
<br>	return;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;while&#40;&nbsp;fgets&#40;buff,&nbsp;0x100,&nbsp;fp&#41;!=NULL&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	get_m_item&#40;buff&#41;;&nbsp;&nbsp;
<br>
<br>	if&nbsp;&#40;m_item.menu_code&nbsp;!=&nbsp;menu_no&#41;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;continue;&nbsp;&nbsp;
<br>
<br>	new=&#40;struct&nbsp;menu*&#41;malloc&#40;sizeof&#40;struct&nbsp;menu&#41;&#41;;&nbsp;&nbsp;
<br>	if&nbsp;&#40;head&nbsp;==&nbsp;NULL&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;last&nbsp;=&nbsp;head;&nbsp;head&nbsp;=&nbsp;new;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>	else&nbsp;&#123;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;this-&gt;next&nbsp;=&nbsp;new;&nbsp;last&nbsp;=&nbsp;this;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>	this&nbsp;=&nbsp;new;&nbsp;&nbsp;
<br>	this-&gt;menu_code=m_item.menu_code;&nbsp;&nbsp;
<br>	this-&gt;item_order=m_item.item_order;&nbsp;&nbsp;
<br>	strcpy&#40;this-&gt;item,m_item.item&#41;;&nbsp;&nbsp;
<br>	strcpy&#40;this-&gt;prog,m_item.prog&#41;;&nbsp;&nbsp;
<br>	this-&gt;submenu_code=m_item.submenu_code;&nbsp;&nbsp;
<br>	this-&gt;next=NULL;&nbsp;&nbsp;
<br>	this-&gt;prev&nbsp;=&nbsp;last;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;fclose&#40;fp&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;菜單處理函數&nbsp;*/&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;domenu&#40;curscrp,&nbsp;curp&#41;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;menu&nbsp;*curscrp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;curp;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;x,&nbsp;y;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;menu&nbsp;*mpos;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;=&nbsp;head;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;disponepage&#40;this&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;curpos&nbsp;=&nbsp;curp;&nbsp;scrpos&nbsp;=&nbsp;curscrp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;lastcurpos&nbsp;=&nbsp;lastscrcurpos&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;revcurpos&#40;&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;for&#40;;;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	switch&nbsp;&#40;wgetch&#40;curw&#41;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;ENT&#58;&nbsp;&nbsp;
<br>		/*&nbsp;有下一級菜單&nbsp;*/&nbsp;&nbsp;
<br>		if&nbsp;&#40;&#40;!strcmp&#40;scrpos-&gt;prog,&nbsp;&quot;0&quot;&#41;&#41;&nbsp;&&&nbsp;&#40;scrpos-&gt;submenu_code&nbsp;!=&nbsp;0&#41;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;lastbegin&nbsp;=&nbsp;begin-&gt;next;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getmenuconf&#40;scrpos-&gt;submenu_code&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;menu_no&nbsp;=&nbsp;scrpos-&gt;submenu_code;&nbsp;&nbsp;
<br>
<br>		&nbsp;&nbsp;&nbsp;&nbsp;wno++;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;lastmenucur&#91;wno&#93;=curpos;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;lastscr&#91;wno&#93;&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;lastw&#91;wno&#93;=curw;&nbsp;&nbsp;
<br>
<br>		&nbsp;&nbsp;&nbsp;&nbsp;workwin=newwin&#40;m_conf.m_lengh,m_conf.m_wight,m_conf.m_bx+1,m_conf.m_by+1&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;curw=workwin;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getitem&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;domenu&#40;head,&nbsp;0&#41;;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		/*&nbsp;是內部函數&nbsp;*/&nbsp;&nbsp;
<br>		/*&nbsp;是外部可執行程序&nbsp;*/&nbsp;&nbsp;
<br>		else&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;endwin&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;execprog&#40;&#41;;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;ESC&#58;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'q'&#58;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'Q'&#58;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'0'&#58;&nbsp;&nbsp;
<br>		/*&nbsp;無上級菜單&nbsp;*/&nbsp;&nbsp;
<br>		if&nbsp;&#40;m_conf.last_code&nbsp;==&nbsp;-1&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;clearwin&#40;&#41;;&nbsp;endwin&#40;&#41;;&nbsp;exit&#40;0&#41;;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		/*&nbsp;有上級菜單&nbsp;*/&nbsp;&nbsp;
<br>		else&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;menu_no&nbsp;=&nbsp;m_conf.last_code;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;clearwin&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getmenuconf&#40;menu_no&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getitem&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;touchwin&#40;lastw&#91;wno&#93;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;curw=lastw&#91;wno&#93;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;curpos&nbsp;=&nbsp;lastmenucur&#91;wno&#93;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;scrpos&nbsp;=&nbsp;lastscr&#91;wno&#93;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;wno--;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;wrefresh&#40;curw&#41;;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'r'&#58;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'R'&#58;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;REFRESH&#58;&nbsp;/*&nbsp;重顯屏幕&nbsp;*/&nbsp;&nbsp;
<br>		wrefresh&#40;curscr&#41;;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;KEY_RIGHT&#58;&nbsp;/*&nbsp;右光標鍵&nbsp;*/&nbsp;&nbsp;
<br>		if&nbsp;&#40;&nbsp;scrpos-&gt;next&nbsp;!=&nbsp;NULL&nbsp;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;lastcurpos&nbsp;=&nbsp;curpos;&nbsp;lastscrpos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;scrpos=scrpos-&gt;next;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getyx&#40;curw,&nbsp;x,&nbsp;y&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&#40;&#40;x==m_conf.m_lengh-1&#41;&&&#40;curpos%m_conf.m_col==m_conf.m_col-1&#41;&#41;&#123;&nbsp;&nbsp;
<br>			curpos-=&#40;m_conf.m_col-1&#41;;&nbsp;lastcurpos&nbsp;=&nbsp;curpos&nbsp;-&nbsp;1;&nbsp;&nbsp;
<br>			/*&nbsp;實現向上卷屏&nbsp;*/&nbsp;&nbsp;
<br>			wmove&#40;curw,&nbsp;0,&nbsp;0&#41;;&nbsp;wdeleteln&#40;curw&#41;;&nbsp;dispnextline&#40;&quot;R&quot;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;
<br>			curpos++;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&#40;curpos%m_conf.m_col&nbsp;==&nbsp;0&#41;&nbsp;&&&nbsp;&#40;m_conf.m_lengh&nbsp;==&nbsp;1&#41;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>			revcurpos&#40;&#41;;&nbsp;break;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&#123;&nbsp;&nbsp;
<br>			nomlastpos&#40;&#41;;&nbsp;revcurpos&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;KEY_LEFT&#58;&nbsp;/*&nbsp;左光標鍵&nbsp;*/&nbsp;&nbsp;
<br>		if&nbsp;&#40;&nbsp;scrpos-&gt;prev&nbsp;!=&nbsp;NULL&nbsp;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;lastcurpos&nbsp;=&nbsp;curpos;&nbsp;lastscrpos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;scrpos=scrpos-&gt;prev;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getyx&#40;curw,&nbsp;x,&nbsp;y&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&#40;x==0&#41;&nbsp;&&&nbsp;&#40;curpos%m_conf.m_col&nbsp;==0&#41;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>			curpos+=m_conf.m_col-1;&nbsp;lastcurpos&nbsp;=&nbsp;curpos&nbsp;+&nbsp;1;&nbsp;&nbsp;
<br>			/*&nbsp;實現向下卷屏&nbsp;*/&nbsp;&nbsp;
<br>			winsertln&#40;curw&#41;;&nbsp;dispprevline&#40;&quot;L&quot;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;
<br>			curpos--;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&#40;curpos%m_conf.m_col==m_conf.m_col-1&#41;&&&#40;m_conf.m_lengh==1&#41;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>			revcurpos&#40;&#41;;&nbsp;break;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&#123;&nbsp;&nbsp;
<br>			nomlastpos&#40;&#41;;&nbsp;revcurpos&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;KEY_UP&#58;&nbsp;/*&nbsp;上光標鍵&nbsp;*/&nbsp;&nbsp;
<br>		lastcurpos&nbsp;=&nbsp;curpos;&nbsp;lastscrpos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>		mpos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>		for&#40;i=0;&nbsp;i&lt;m_conf.m_col;i++&#41;&#123;//無雙修改i/td&gt;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;mpos-&gt;prev&nbsp;!=&nbsp;NULL&nbsp;&#41;&nbsp;mpos=mpos-&gt;prev;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;break;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		if&nbsp;&#40;&nbsp;i==m_conf.m_col&nbsp;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getyx&#40;curw,&nbsp;x,&nbsp;y&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;x==0&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>			lastcurpos&nbsp;+=&nbsp;m_conf.m_col;&nbsp;&nbsp;
<br>			/*&nbsp;實現向下卷屏&nbsp;*/&nbsp;&nbsp;
<br>			winsertln&#40;curw&#41;;&nbsp;dispprevline&#40;&quot;U&quot;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&#123;&nbsp;&nbsp;
<br>			curpos-=m_conf.m_col;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;scrpos&nbsp;=&nbsp;mpos;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;m_conf.m_lengh!=1&#41;&nbsp;&nbsp;
<br>			nomlastpos&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;revcurpos&#40;&#41;;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;KEY_DOWN&#58;&nbsp;/*&nbsp;下光標鍵&nbsp;*/&nbsp;&nbsp;
<br>		lastcurpos&nbsp;=&nbsp;curpos;&nbsp;lastscrpos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>		mpos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>		for&#40;i=0;i&lt;m_conf.m_col;i++&#41;&#123;//無雙修改i/td&gt;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;mpos-&gt;next&nbsp;!=&nbsp;NULL&nbsp;&#41;&nbsp;&nbsp;
<br>			mpos=mpos-&gt;next;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;
<br>			break;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		if&nbsp;&#40;&nbsp;i==m_conf.m_col&nbsp;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;getyx&#40;curw,&nbsp;x,&nbsp;y&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;x==m_conf.m_lengh-1&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>			lastcurpos&nbsp;-=&nbsp;m_conf.m_col;&nbsp;&nbsp;
<br>			/*&nbsp;實現向上卷屏&nbsp;*/&nbsp;&nbsp;
<br>			wmove&#40;curw,&nbsp;0,&nbsp;0&#41;;&nbsp;wdeleteln&#40;curw&#41;;&nbsp;dispnextline&#40;&quot;D&quot;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;
<br>			curpos+=m_conf.m_col;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;scrpos&nbsp;=&nbsp;mpos;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;m_conf.m_lengh!=1&#41;&nbsp;&nbsp;
<br>			nomlastpos&#40;&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;revcurpos&#40;&#41;;&nbsp;&nbsp;
<br>		&#125;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;default&#58;&nbsp;&nbsp;
<br>		beep&#40;&#41;;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;反顯當前項函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;revcurpos&#40;&#41;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wattrset&#40;curw,&nbsp;A_STANDOUT&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wmove&#40;curw,&nbsp;curpos/m_conf.m_col,&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;&#40;curpos%m_conf.m_col&#41;*m_conf.m_wight/m_conf.m_col+m_conf.m_col&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wprintw&#40;curw,&nbsp;&quot;%s&quot;,&nbsp;scrpos-&gt;item&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wattrset&#40;curw,&nbsp;A_NORMAL&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wrefresh&#40;boxwin&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;正常顯示上一項函數&nbsp;*/&nbsp;&nbsp;
<br>[code:1:b2615b2355]
<br>&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;nomlastpos&#40;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	wmove&#40;curw,&nbsp;lastcurpos/m_conf.m_col,&nbsp;&#40;lastcurpos%m_conf.m_col&#41;&nbsp;&nbsp;
<br>		*m_conf.m_wight/m_conf.m_col+m_conf.m_col&#41;;&nbsp;&nbsp;
<br>	wprintw&#40;curw,&nbsp;&quot;%s&quot;,&nbsp;lastscrpos-&gt;item&#41;;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;顯示一頁函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;disponepage&#40;first&#41;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;menu&nbsp;*first;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;col,&nbsp;row;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;begin=first;&nbsp;/*&nbsp;begin&nbsp;為本頁首指針&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;for&#40;row=0;row&lt;m_conf.m_lengh&nbsp;;row++&#41;&#123;//無雙修改row/td&gt;&nbsp;&nbsp;
<br>	//這兩個地方都不是很清楚,我想這個函數是想打印菜單的,所以照這個意思寫
<br>	for&#40;col=0;col&lt;m_conf.m_col;col++&#41;&#123;//無雙修改&nbsp;col/td&gt;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;m_conf.m_wight/m_col為每一菜單項應占列數*/&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;wmove&#40;curw,row,col*m_conf.m_wight/m_conf.m_col+m_conf.m_col&#41;;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;wprintw&#40;curw,&nbsp;&quot;%s&quot;,&nbsp;first-&gt;item&#41;;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;wrefresh&#40;curw&#41;;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;last&nbsp;=&nbsp;first;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;first&nbsp;=&nbsp;first-&gt;next;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;first&nbsp;==&nbsp;NULL&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;顯示上一行函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;dispprevline&#40;flag&#41;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;flag&#91;2&#93;;&nbsp;/*&nbsp;L-左光標引起&nbsp;U-上光標引起&nbsp;*/&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;menu&nbsp;*tmppos;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;tmpcurpos;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;tmpcurpos&nbsp;=&nbsp;curpos;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;tmppos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;flag&#91;0&#93;&nbsp;==&nbsp;'U'&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	while&nbsp;&#40;&nbsp;tmpcurpos&nbsp;%&nbsp;m_conf.m_col&nbsp;!=&nbsp;0&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;tmppos&nbsp;=&nbsp;tmppos-&gt;prev;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;tmpcurpos--;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>	tmppos&nbsp;=&nbsp;tmppos-&gt;prev;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;&#40;tmpcurpos&nbsp;=&nbsp;m_conf.m_col-1;&nbsp;tmpcurpos&nbsp;&gt;=&nbsp;0;&nbsp;tmpcurpos--&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	wmove&#40;curw,&nbsp;0,&nbsp;&#40;tmpcurpos%m_conf.m_col&#41;&nbsp;&nbsp;
<br>		*m_conf.m_wight/m_conf.m_col+m_conf.m_col&#41;;&nbsp;&nbsp;
<br>	wprintw&#40;curw,&nbsp;&quot;%s&quot;,&nbsp;tmppos-&gt;item&#41;;&nbsp;&nbsp;
<br>	begin&nbsp;=&nbsp;tmppos;&nbsp;/*begin&nbsp;為本頁首指針*/&nbsp;&nbsp;
<br>	last&nbsp;=&nbsp;tmppos;&nbsp;&nbsp;
<br>	tmppos&nbsp;=&nbsp;tmppos-&gt;prev;&nbsp;&nbsp;
<br>	if&nbsp;&#40;tmppos&nbsp;==&nbsp;NULL&#41;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;wrefresh&#40;curw&#41;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;顯示下一行函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;dispnextline&#40;flag&#41;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;flag&#91;2&#93;;/*&nbsp;R-右光標引起&nbsp;D-下光標引起&nbsp;*/&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;menu&nbsp;*tmppos;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;tmpcurpos;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;tmpcurpos&nbsp;=&nbsp;curpos;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;tmppos&nbsp;=&nbsp;scrpos;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;flag&#91;0&#93;&nbsp;==&nbsp;'D'&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	while&nbsp;&#40;&nbsp;tmpcurpos&nbsp;%&nbsp;m_conf.m_col&nbsp;!=&nbsp;m_conf.m_col-1&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;tmppos&nbsp;=&nbsp;tmppos-&gt;next;&nbsp;tmpcurpos++;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>	tmppos&nbsp;=&nbsp;tmppos-&gt;next;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;&#40;tmpcurpos&nbsp;=&nbsp;0;&nbsp;tmpcurpos&nbsp;&lt;&nbsp;m_conf.m_col;&nbsp;tmpcurpos++&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	wmove&#40;curw,&nbsp;m_conf.m_lengh-1,&nbsp;&#40;tmpcurpos%m_conf.m_col&#41;&nbsp;&nbsp;
<br>		*m_conf.m_wight/m_conf.m_col+m_conf.m_col&#41;;&nbsp;&nbsp;
<br>	wprintw&#40;curw,&nbsp;&quot;%s&quot;,&nbsp;tmppos-&gt;item&#41;;&nbsp;&nbsp;
<br>	last=tmppos;/*&nbsp;last&nbsp;為本頁最后一個結點指針&nbsp;*/&nbsp;&nbsp;
<br>	begin=tmppos;&nbsp;tmppos&nbsp;=&nbsp;tmppos-&gt;next;&nbsp;&nbsp;
<br>	if&nbsp;&#40;tmppos&nbsp;==&nbsp;NULL&#41;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>/*&nbsp;取指定菜單參數函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;getmenuconf&#40;menu_code&#41;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;menu_code;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;FILE&nbsp;*fp;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;menu_buff&#91;0x100&#93;;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&#40;fp&nbsp;=&nbsp;fopen&#40;&quot;menu.conf&quot;,&nbsp;&quot;r&quot;&#41;&#41;==NULL&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	fprintf&#40;stderr,&nbsp;&quot;can&nbsp;not&nbsp;open&nbsp;menu&nbsp;config&nbsp;file&quot;&#41;;&nbsp;&nbsp;
<br>	return;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;while&#40;&nbsp;fgets&#40;menu_buff,&nbsp;0x100,&nbsp;fp&#41;!=NULL&nbsp;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	get_m_conf&#40;menu_buff&#41;;&nbsp;&nbsp;
<br>	if&nbsp;&#40;m_conf.menu_code&nbsp;==&nbsp;menu_code&#41;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>
<br>
<br>/*&nbsp;取指定菜單參數處理函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;get_m_conf&#40;menu_conf&#41;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*menu_conf;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;register&nbsp;i,&nbsp;j,&nbsp;k;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;buff&#91;20&#93;;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;=&nbsp;k&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;&#40;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;strlen&#40;menu_conf&#41;;&nbsp;i++&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	if&nbsp;&#40;&nbsp;menu_conf&#91;i&#93;&nbsp;==&nbsp;'!'&nbsp;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;j++;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;j&nbsp;==&nbsp;1&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		k&nbsp;=&nbsp;i+1;&nbsp;&nbsp;
<br>		continue;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;switch&#40;j&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		case&nbsp;2&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.menu_code&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;3&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.last_code&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;4&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.bord_flag&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;5&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.m_wight&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;6&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.m_lengh&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;7&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.m_col&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;8&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.m_bx&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;9&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_conf&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;=0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_conf.m_by&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		default&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>[/code:1:b2615b2355]
<br>
<br>
<br>/*&nbsp;取指定項參數處理函數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;[code:1:b2615b2355]
<br>void&nbsp;get_m_item&#40;menu_item&#41;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*menu_item;&nbsp;&nbsp;
<br>&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;register&nbsp;i,&nbsp;j,&nbsp;k;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;buff&#91;80&#93;;&nbsp;&nbsp;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;=&nbsp;k&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;&#40;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;strlen&#40;menu_item&#41;;&nbsp;i++&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	if&nbsp;&#40;&nbsp;menu_item&#91;i&#93;&nbsp;==&nbsp;'!'&nbsp;&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;j++;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&#40;&nbsp;j&nbsp;==&nbsp;1&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		k&nbsp;=&nbsp;i+1;&nbsp;&nbsp;
<br>		continue;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;switch&#40;j&#41;&nbsp;&#123;&nbsp;&nbsp;
<br>		case&nbsp;2&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_item&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_item.menu_code&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;3&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_item&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_item.item_order&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;4&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_item&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;strcpy&#40;m_item.item,buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;5&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_item&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;strcpy&#40;m_item.prog,buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		case&nbsp;6&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;memcpy&#40;buff,&nbsp;&menu_item&#91;k&#93;,&nbsp;i-k&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;buff&#91;i-k&#93;&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;m_item.submenu_code&nbsp;=&nbsp;atoi&#40;buff&#41;;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;k=i+1;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>		default&#58;&nbsp;&nbsp;
<br>		&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;
<br>	&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>	&#125;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;
<br>&#125;&nbsp;&nbsp;
<br>
<br>[/code:1:b2615b2355]
<br>
<br>數據結構和頭文件等初始化信息
<br>[code:1:b2615b2355]
<br>#include&nbsp;&nbsp;
<br>#define&nbsp;ESC&nbsp;27&nbsp;&nbsp;
<br>#define&nbsp;ENT&nbsp;13&nbsp;&nbsp;
<br>#define&nbsp;REFRESH&nbsp;12&nbsp;&nbsp;
<br>#define&nbsp;MAX_M&nbsp;10&nbsp;/*&nbsp;菜單最大層數&nbsp;*/&nbsp;&nbsp;
<br>
<br>void&nbsp;initial&#40;&#41;,nomlastpos&#40;&#41;,revcurpos&#40;&#41;,disponepage&#40;&#41;,dispprevline&#40;&#41;;&nbsp;&nbsp;
<br>void&nbsp;dispnextline&#40;&#41;,domenu&#40;&#41;,getmenuconf&#40;&#41;,keycont&#40;&#41;;&nbsp;&nbsp;
<br>void&nbsp;getitem&#40;&#41;,&nbsp;get_m_conf&#40;&#41;,&nbsp;get_m_item&#40;&#41;,clearwin&#40;&#41;,execprog&#40;&#41;;&nbsp;&nbsp;
<br>/*&nbsp;標識每一菜單項的結構&nbsp;*/&nbsp;&nbsp;
<br>struct&nbsp;menu&nbsp;&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;menu_code;&nbsp;/*&nbsp;所屬菜單代號&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;item_order;&nbsp;/*&nbsp;項順序號&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;item&#91;20&#93;;&nbsp;/*&nbsp;菜單項名稱&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;prog&#91;80&#93;;&nbsp;/*&nbsp;本項菜單執行程序&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;submenu_code;&nbsp;/*&nbsp;下一級菜單編號&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;menu&nbsp;*next;&nbsp;/*&nbsp;指向上一項的指針&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;menu&nbsp;*prev;&nbsp;/*&nbsp;指向下一項的指針&nbsp;*/&nbsp;&nbsp;
<br>&#125;&nbsp;m_item,*head,*this,*new,*last,*scrpos,*lastscrpos,*begin,*lastbegin,*lastscr&#91;MAX_M&#93;;&nbsp;&nbsp;
<br>/*&nbsp;標識每一菜單內容的結構&nbsp;*/&nbsp;&nbsp;
<br>struct&nbsp;menuconf&nbsp;&#123;&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;menu_code;&nbsp;/*&nbsp;菜單代號&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;last_code;&nbsp;/*&nbsp;上一級菜單代號&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;bord_flag;&nbsp;/*&nbsp;邊框標志&nbsp;0--無邊框&nbsp;1--有邊框&nbsp;**/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;m_wight;&nbsp;/*&nbsp;菜單顯示寬度&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;m_lengh;&nbsp;/*&nbsp;每一行項數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;m_col;&nbsp;/*&nbsp;菜單列數&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;m_bx;&nbsp;/*&nbsp;菜單起始橫坐標&nbsp;*/&nbsp;&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;m_by;&nbsp;/*&nbsp;菜單起始縱坐標&nbsp;*/&nbsp;&nbsp;
<br>&#125;&nbsp;m_conf;&nbsp;&nbsp;
<br>WINDOW&nbsp;*menuwin,&nbsp;*boxwin,&nbsp;*curw,&nbsp;*lastw&#91;MAX_M&#93;,&nbsp;*workwin;&nbsp;&nbsp;
<br>long&nbsp;curpos,&nbsp;lastcurpos,&nbsp;lastscrcurpos,&nbsp;lastmenucur&#91;MAX_M&#93;;&nbsp;&nbsp;
<br>short&nbsp;menu_no&nbsp;=&nbsp;0,&nbsp;wno&nbsp;=&nbsp;0;&nbsp;&nbsp;
<br>
<br>[/code:1:b2615b2355]<br>	<br>	</td></tr>	</table></td></tr><tr><td align=center><small>【<a href=http://www.chinaunix.net/forum/posting.php?mode=reply&t=78395>發表回復</a>】【<a href=http://www.chinaunix.net/forum/viewtopic.php?t=78395>查看CU論壇原帖</a>】【<a href="javascript:window.close()">關閉</a>】</small></td></tr></table><!-----------回復-----------><table border="0" width=75%  cellspacing="0" cellpadding="0" ><tr><td bgcolor=#EDF0F5>	<table border="0" width=90% cellspacing="0" cellpadding="0" align=center style='border-collapse: collapse; WORD-BREAK: break-all'>	<tr><td ><hr><small>&nbsp;<a href=http://www.chinaunix.net/forum/profile.php?mode=viewprofile&u=27601 target=_blank>yikaikai</a> 回復于:2003-05-28 08:10:57</small></td></tr><tr><td>版主加為精華啊<br><br></td></tr><tr><td ><hr><small>&nbsp;<a href=http://www.chinaunix.net/forum/profile.php?mode=viewprofile&u=12254 target=_blank>superzhang</a> 回復于:2003-05-28 08:22:31</small></td></tr><tr><td>確實不錯,值得收藏.<br><br></td></tr><tr><td ><hr><small>&nbsp;<a href=http://www.chinaunix.net/forum/profile.php?mode=viewprofile&u=57921 target=_blank>win_bigboy</a> 回復于:2003-05-28 14:42:32</small></td></tr><tr><td>實在謝謝你了,我一直有寫些&nbsp;窗口函數的念頭只是一直沒有時間.
<br>還有沒有,<br><br></td></tr><tr><td ><hr><small>&nbsp;<a href=http://www.chinaunix.net/forum/profile.php?mode=viewprofile&u=57921 target=_blank>win_bigboy</a> 回復于:2003-05-28 15:22:46</small></td></tr><tr><td>大師,&nbsp;有沒有畫Line&nbsp;&nbsp;和畫&nbsp;box&nbsp;的函數???<br><br></td></tr><tr><td ><hr><small>&nbsp;<a href=http://www.chinaunix.net/forum/profile.php?mode=viewprofile&u=20281 target=_blank>天祥星辰</a> 回復于:2003-05-28 15:32:29</small></td></tr><tr><td>好!&nbsp;&nbsp;&nbsp;收藏!&nbsp;&nbsp;正需要呢!<br><br></td></tr>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频观看视频| 欧美日韩中文字幕精品| 亚洲一区在线观看网站| 久久久久久久久蜜桃| 在线一区二区三区做爰视频网站| 久久精品国产一区二区三| 亚洲欧美另类久久久精品2019| 亚洲精品一区二区三区在线观看 | 亚洲精品成人精品456| 精品女同一区二区| 欧美肥大bbwbbw高潮| 91在线精品一区二区| 国产乱人伦精品一区二区在线观看| 亚洲国产另类精品专区| 国产精品超碰97尤物18| 亚洲精品一区二区在线观看| 日韩一区二区在线观看| 91高清视频免费看| 色婷婷av一区二区三区大白胸| 国产在线精品一区二区夜色| 日韩影院在线观看| 亚洲成av人片在线| 一区二区激情视频| 亚洲天堂成人在线观看| 欧美激情在线一区二区| 久久亚洲精品小早川怜子| 91精品国产综合久久精品| 欧美日韩一区二区三区高清| 91丨porny丨中文| 99精品视频免费在线观看| 国产999精品久久久久久绿帽| 国产在线精品国自产拍免费| 久久91精品久久久久久秒播| 天天免费综合色| 亚洲va国产va欧美va观看| 亚洲综合无码一区二区| 亚洲免费成人av| 亚洲资源在线观看| 午夜一区二区三区视频| 亚洲成人手机在线| 婷婷六月综合亚洲| 日本亚洲电影天堂| 久久99精品国产麻豆婷婷洗澡| 免费在线看成人av| 免费成人在线视频观看| 看片网站欧美日韩| 国产另类ts人妖一区二区| 精品中文字幕一区二区小辣椒| 久久er99精品| 国产成人精品aa毛片| 波多野结衣在线aⅴ中文字幕不卡| 粗大黑人巨茎大战欧美成人| 成人午夜短视频| 91网站黄www| 欧美体内she精高潮| 7777女厕盗摄久久久| 欧美成人免费网站| 亚洲国产精品高清| 亚洲激情欧美激情| 日本 国产 欧美色综合| 精品一二三四在线| 成人精品国产福利| 91久久精品一区二区三区| 欧美高清精品3d| 国产亚洲欧美激情| 一区二区三区四区不卡在线| 天堂av在线一区| 懂色av一区二区夜夜嗨| 91亚洲午夜精品久久久久久| 精品视频1区2区| 精品国产一区二区三区久久久蜜月| 久久久.com| 亚洲一区二区影院| 狠狠色丁香久久婷婷综合_中| 成人性生交大片免费看中文网站| 91国产免费观看| 精品国产精品网麻豆系列| 亚洲人成网站在线| 日韩国产高清在线| av电影一区二区| 欧美日本不卡视频| 国产欧美一区二区精品性色| 亚洲国产成人av网| 国产在线不卡视频| 欧洲av在线精品| 久久久精品免费网站| 一区二区三区高清不卡| 激情伊人五月天久久综合| 色综合天天狠狠| 欧美大黄免费观看| 一区二区三区四区精品在线视频 | 成人污视频在线观看| 欧美女孩性生活视频| 中文欧美字幕免费| 蜜桃av一区二区三区| 色综合久久88色综合天天免费| 欧美一级专区免费大片| 亚洲免费三区一区二区| 国产在线观看免费一区| 欧美日韩二区三区| 中文字幕一区二区三区不卡| 蜜桃视频在线一区| 欧美性大战久久久久久久| 国产视频一区在线观看| 日本欧美一区二区在线观看| www.日韩精品| 久久品道一品道久久精品| 日韩精品欧美成人高清一区二区| 91视频免费看| 国产精品午夜免费| 极品美女销魂一区二区三区免费 | 色综合天天综合网天天看片| 久久亚洲精精品中文字幕早川悠里| 亚洲综合色网站| 99视频在线精品| 欧美激情中文字幕| 国产乱码精品1区2区3区| 日韩亚洲国产中文字幕欧美| 亚洲大片精品永久免费| 色综合天天综合狠狠| 中文一区二区在线观看| 国产精品亚洲一区二区三区在线| 欧美一区二区三区在线观看视频| 亚洲精品写真福利| 99这里都是精品| 中文字幕一区二区在线播放| 国产一区二区三区国产| 欧美一区二区三区公司| 日韩精品成人一区二区三区| 欧美日韩美少妇| 亚洲国产成人av网| 欧美日本在线看| 亚洲午夜视频在线| 欧美乱妇15p| 日韩av一二三| 欧美一区二区福利在线| 日韩电影一二三区| 欧美一区二区三区四区在线观看| 日韩一区精品视频| 欧美一二三区在线观看| 精品中文字幕一区二区小辣椒| 欧美xxxxx牲另类人与| 国产综合久久久久影院| 国产目拍亚洲精品99久久精品| 国产.欧美.日韩| 国产精品久久一级| 一本大道久久a久久综合| 亚洲黄色尤物视频| 欧美高清你懂得| 卡一卡二国产精品 | 亚洲成人在线网站| 欧美日韩高清在线| 人人超碰91尤物精品国产| 日韩欧美国产一二三区| 国产在线日韩欧美| 中文字幕在线免费不卡| 色拍拍在线精品视频8848| 亚洲成人自拍网| 精品久久国产字幕高潮| 播五月开心婷婷综合| 一区二区三区在线免费| 日韩午夜激情电影| 国产成人亚洲综合a∨猫咪| 亚洲少妇中出一区| 欧美日韩黄色影视| 极品少妇xxxx偷拍精品少妇| 国产精品久久久久7777按摩| 欧美性淫爽ww久久久久无| 日本不卡的三区四区五区| 精品国产乱码久久久久久免费| 不卡av在线免费观看| 日韩电影在线一区二区| 久久亚洲一区二区三区明星换脸| 成人性生交大片免费看视频在线 | 国产精品乡下勾搭老头1| 中文字幕一区三区| 在线播放国产精品二区一二区四区| 六月婷婷色综合| 综合久久久久久久| 日韩欧美卡一卡二| 91免费小视频| 久久er精品视频| 亚洲综合视频在线| 久久久精品中文字幕麻豆发布| 欧美写真视频网站| 国产精品18久久久久久久久| 亚洲国产精品久久不卡毛片| 国产亚洲污的网站| 欧美日韩另类国产亚洲欧美一级| 国产精品一区二区果冻传媒| 亚洲一区在线视频观看| 国产欧美日韩视频一区二区| 欧美日韩dvd在线观看| 国产v综合v亚洲欧| 日韩vs国产vs欧美| 亚洲精品综合在线| 国产女主播在线一区二区| 欧美一区二区黄色| 色一情一乱一乱一91av| 国产激情视频一区二区在线观看 |