- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在unix下用c编写类windows菜单(Write the class windows menu in C under UNIX)
在unix下用c编写类windows菜单(Write the class windows menu in C under UNIX)
/ *****************************************************************
本程序需要借肋两个参数文件来实现:
(1)、对菜单中每一项参数进行说明的文件(菜单。DEF),它格式如下所述:
所属菜单代号项顺序号菜单项名称!!!!外挂程序名称!下级菜单代号!
说明:
1“0”,则表示此项属于主菜单、如菜单代号为;
2“0”,则表示此菜单项对应的过程在菜单程序内部或对应于一个子菜单、如外挂程序名称为;
3“0”,则表示此菜单项无下级子菜单、如下级菜单代号为;
4、项顺序号同时可作为菜单热键使用。
假如文件DEF中有下面这一行菜单:
!0!三!格式化磁盘!格式/ dev / rfd0135ds18!0!
它表示主菜单的第三项为格式化磁盘,它对应的执行过程为格式/ dev / rfd0135ds18,本项无子菜单。
如果用户想把自己编的实现查询功能程序XXX挂到本程序主菜单第4项上,则可在DEF中增加下面菜单。
这一行:
!0!4!查询!XXX!0!
(2)、对各菜单参数进行说明文件(菜单。conf),其格式如下所述:
!菜单代号!上一级菜单代号!边框标志!菜单宽度!菜单行数!菜单列数!起始横坐标!起始纵坐标!
说明:
1、边框标志为“0”“1”表示有边框表示无框,为;
2“- 1”,表示无上级菜单、上级菜单代号为;
3“0”,表示主菜单、如菜单代号为。
当用户对菜单显示样式不满意时,可通过调整此文件设计个性化的界面
**************************************************************** /
#包括诅咒。”
#包括程序。”
#定义ESC 27
#定义企业13
#定义刷新12
#定义max_m 10 / * * /菜单最大层数
无效initial(),nomlastpos(),revcurpos(),disponepage(),dispprevline();
无效dispnextline(),domenu(),getmenuconf(),keycont();
无效getitem(),get_m_conf(),get_m_item(),clearwin(),execprog();
标识每一菜单项的结构/ * * /
菜单定义{
短menu_code;/ * * /所属菜单代号
短item_order;/ * * /项顺序号
焦炭项目[ 20 ];/ * * /菜单项名称
字符程序[ 80 ];/ * * /本项菜单执行程序
短submenu_code;/ * * /下一级菜单编号
菜单定义* / * * /指向上一项的指针下;
菜单定义* / * * /指向下一项的指针沪指;
} m_item,*头,*,*,*,* * * scrpos,lastscrpos,开始lastbegin,*,* lastscr [ max_m ];
Structure identification * / / * content of each menu
Struct menuconf {
Short menu_code; / * * / menu code
Short last_code; / * * / on a menu code
Short bord_flag; / * border marker 0-- borderless 1-- frame **/
Short m_wight; / * * / menu display width
Short m_lengh; / * * / the number of each row
Short m_col; / * * / menu column number
Short m_bx; / * * / start menu abscissa
Short m_by; / * * / start menu ordinate
} m_conf;
WINDOW, *menuwin, *boxwin, *curw, *lastw[MAX_M], *workwin;
Long, curpos, lastcurpos, lastscrcurpos, lastmenucur[MAX_M];
Short menu_no = 0, wno = 0;
(main)
{
Initial ();
Getmenuconf (0); / * * / zeroth menu parameters
/ * create the main window.
Menuwin=newwin (m_conf
您可能关注的文档
最近下载
- 中班语言绘本《章鱼先生卖雨伞》PPT课件(原版有声动态).pptx
- 大学毕业设计 汽车悬挂系统设计.doc
- 统编版六年级语文下册快乐读书吧《鲁滨逊漂流记》整本书阅读推进课.pptx VIP
- 2023年故宫博物院招聘笔试参考题库附带答案详解.pdf
- 蒸汽爆破法制浆的研究进展 .pdf VIP
- 幼儿园园本培训课件.pptx VIP
- 国际汉语教师证书汉办预测卷二.docx
- JB_T 14047-2021CN超超临界汽轮机用ZG13Cr9Mo2Co1NiVNbNB耐热钢铸件 技术条件.pdf
- 深入贯彻学习2025年中央八项规定精神教育测试试题【含答案】.docx VIP
- 原发性肝癌的ct诊断.ppt VIP
文档评论(0)