用BASIC语言设Windows风格的用户接口.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用BASIC语言设Windows风格的用户接口

BASIC语言历史悠久,近年来发展迅速。BASIC语言的结构化程度高,易于理解,很适合广大的编程人员使用。而第三代BASIC语言的功能更是日臻完善、强大,使用人员更多。 本文意在向编程经验不十分丰富的读者介绍用BASIC语言设计Windows风格的图形用户接口,起一点抛砖引玉的作用,不妥之处望不吝赐教。程序 在VGA(用Screen12语句设置)方式下运行,可在QuickBASIC、MSBASIC或VisualBASICforMS-DOS下编译。另外需要说明的是程序中设置颜色使用的都是调色板位置号,一个调色板位置号并不固定代表某种特定颜色,而是可以由编程者通过PALETTE语句或PALETTEUSING语句自行指定的。当然,一般情况下我们使用系统缺省的调色板颜色。 1.读点阵字模交叉显示汉字及ASCII字符。 这里要用到UCDOS3.1的HZK16和ASC16两个字模文件,该功能模块的代码如下: SUBDispHz(HzCol,HzRow,Color,HzStr$) DIMi1,i2,i3,I,c1,c2,f,g,HzChar,AscCharASINTEGER DIMHzByASSTRING*32 DIMAscByASSTRING*16 DIMl,HzRecASLONG OPENHZK16FORBINARYAS#1`打开汉字库文件 OPENASC16FORBINARYAS#2`打开ASCII码字库文件 HzLen=LEN(HzStr$)`计算字符串长度 HzPos=1`置字符串的首字节为当前字节 WHILEHzPos<=HzLen`字符串显示完前一直循环 I=ASC(MID$(HzStr$,HzPos,1))`获取当前字符的ASCII值 IFI>HA0THEN`判断是否为汉字内码 IFf=0THEN`f为零则该字节为汉字区码 c1=I-HA1`计算区码 f=-1`置f为非零 ELSE`f不为零则该字节为汉字位码 c2=I-HA1`计算位码 f=0`置f为零 HzRec=c1*94 c2`计算汉字在字库中的记录号 l=HzRec*32 1`计算汉字在字库中的起始字节位置 GET#1,l,HzBy`从l开始读取32字节 FORi1=0TO15`字模垂直方向16行点 FORi2=0TO1`每行16个点对应的两个字节 HzChar=ASC(MID$(HzBy,i1*2 i2 1,1))`每个字节的ASCII值 FORi3=0TO7`每个字节的8位 IF(HzChar(2(7-i3)))ANDH1THEN`若该位是1 PSET(HzCol i2*8 i3,HzRow i1),Color`画点 ENDIF NEXTi3 NEXTi2 NEXTi1 HzCol=HzCol 16`将光标置于下一个字符的左上角 ENDIF ELSE`不是汉字内码则为ASCII码 l=I*16 1`计算ASCII字符在字库中的起始字节位置 GET#2,l,AscBy`从l开始读取16字节 FORi1=0TO15 `字模垂直方向16行点,每行对应1个字节 AscChar=ASC(MID$(AscBy,i1 1,1))`每个字节的ASCII值 FORi3=0TO7`每个字节的8位 IF(AscChar(2(7-i3)))ANDH1THEN`若该位是1 PSET(HzCol i3,HzRow i1),Color`画点 ENDIF NEXTi3 NEXTi1 HzCul=HzCul 8`光标置于下一个字符的左上角 ENDIF HzPos=HzPos 1`置字符串的下一个字节为当前字节 WEND CLOSE ENDSUB 参数HzCol、HzRow是所要显示字符串的左上角坐标,Color是字符串的颜色,HzStr$是要显示的字符串,其中可包含汉字、图形符号和ASCII字符。 2.Windows风格图形界面。 Windows界面简洁、美观、标准,用BASIC语言的图形函数可以很方便地生成一个Windows风格界面。 先用VIEW(0,0)-(639,479),3设置背景色,再调用下面的过程生成窗口,调用一次生成一个窗口。参数Le、Top、Ri、Bo指定窗口左上角和右下角的坐标,FrmCol、TitCol是工作区和标题栏背景色,Title$、Menu$是标题和菜单的文字内容。例如,以下调用将生成一个主窗口和一个子窗口: MyForm30,30,609,440,7,4,程序主窗口,文件[F]选项[O]窗口[W]帮助[H] MyForm70,90,569,400,15,1,程序子窗口,文件[F]编辑[E]搜索[S]运行[R]帮助[H] 过程代码如下: SUB

文档评论(0)

elouwn + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档