




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBasic程序设计简明教程,7.2通用对话框7.3菜单设计7.4多重窗体7.5鼠标和键盘7.6应用程序向导7.7综合应用,第七章界面设计,7.2通用对话框,工程/部件,选定控件标签,选定MicrosoftCommDialogControl6.0,通用对话框添加到工具箱:,确定,调用通用对话框的两种方法:1)对对话框控件的Action属性赋值:CommonDialog1.Action=12)调用对话框控件的show方法:CommonDialog1.ShowOpen,通用对话框控件(CommonDialog)提供一组标准的操作对话框来返回信息。,属性:(1)Action:打开通用对话框。只能在程序中赋值,不能在属性窗口设置。(2)CancelError在通用对话框内有一个“确定”按钮和一个“取消”按钮,前者表示确认,后者表示放弃。True:选择“取消”按钮,出现错误警告;Err.Number置为32755(cdCancel)。False(缺省):选择“取消”按钮,没有错误警告。(3)DialogTitle:设置对话框标题栏所显示的字符串。(4)FlagsFlags属性用来修改通用对话框的每个具体对话框的默认设置通用对话框的属性除了在属性窗口和程序代码中设置外,还可以右键在弹出的“属性页”对话框中设置。,A.打开文件对话框,需设置的属性:,需设置的属性:FileName:文件名(包含路径)FileTitle:文件名(不包含路径)Filter:过滤文件类型例:Documents(*.DOC)|*.DOC|TextFiles(*.TXT)|*.txt|AllFiles|*.*FilterIndex:决定在文件类型列表框中显示第几组类型的文件InitDir:指定对话框的初始目录【例】8.1用命令按钮的Click事件显示文件打开对话框。(V6bj08-01),CommonDialog1.InitDir=C:Windows设置初始目录CommonDialog1.Filter=文本文件|*.Txt过滤文件类型CommonDialog1.CancelError=True控制取消按钮CommonDialog1.ShowOpen打开对话框,没有提供真正的存储文件操作,仍需要编程完成储存操作。除了打开文件对话框需设置的那些属性外,还有:属性DefaultExt:缺省扩展名。,B.保存文件对话框,属性Color:返回或设置选定的颜色。【例】8.2“颜色”对话框的使用。(V6bj08-02),C.“颜色”对话框,属性Flags:指示所显示的字体类型,必须设置。cdlCFScreenFonts&H1屏幕字体cdlCFPrinterFonts&H2打印机字体cdlCFBoth&H3打印机字体和屏幕字体。cdlCFEffects&H100显示删除线和下划线检查框以及颜色组合框,【例】8.3字体对话框的使用。(V6bj08-03),D.“字体”对话框,属性FromPage:起始页号;ToPage:终止页号;Copies:打印份数。如果打印驱动程序不支持多份打印,该属性有可能始终返回1。【例】8.4打印对话框的使用。(V6bj08-04),E.“打印”对话框,F.“帮助”对话框,属性HelpCommand:在线Help帮助类型;HelpFile:Help文件的路径及其名称;HelpKey:在帮助窗口显示由该帮助关键字指定的帮助信息。【例】8.5帮助对话框的使用。(V6bj08-05),7.3菜单设计,下拉式菜单系统的组成结构:,A.菜单编辑器的使用,常用属性:1.标题(Caption)热键前面加&2.名称(Name)文本框分隔符也应有名称3.快捷键(Shortcut)主菜单没有快捷键4.复选(Checked)检查框TRUE有5.有效(Enabled)检查框6.可见(Visible)检查框,【例】8.6建立一个有菜单功能的文本编辑器。(V6bj08-06),B.弹出菜单(快捷菜单),弹出菜单是独立于窗体菜单栏而显示在窗体内的浮动菜单。显示位置取决于单击鼠标键时指针的位置。菜单弹出的方法:对象.PopupMenu菜单名,标志,x,y标志:表示弹出的位置和触发的键,SubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenuEditMenu,vbPopupMenuCenterAlignEndSub,【例】8.7弹出菜单。(V6bj08-07),对于较为简单的应用程序,一个窗体就足够了。对于复杂的应用程序,往往需要通过多重窗体(MultiForm)来实现。每一个窗体可以有不同的界面和程序代码,以完成不同的功能。如有的窗体用来输入数据,有的窗体用来显示结果等等。多文档界面(MDI,multipledocumentinterface)是一种典型的Windows应用程序结构。多文档界面由一个父窗体(简称MDI窗体)和一个或多个子窗体组成,MDI窗体作为子窗体的容器,子窗体包含在父窗体之内,用来显示各自的文档,所有子窗体具有相同的功能。多文档界面允许用户同时打开多个文档,并可在不同文档间快速切换。这在基于windows的办公自动化软件中得到了充分使用。,7.4多重窗体,1)添加窗体“工程|添加窗体”,添加“现存”窗体时要注意:防止多个窗体的Name相同而不能添加;添加现存的窗体实际是将其他工程中已有的窗体加入,多个工程共享窗体;可通过“另存为”命令以不同的窗体文件名保存,断开共享。2)设置启动对象,A.多重窗体,“工程/属性”“启动对象”,3)窗体语句(1)Load语句:装入窗体到内存但没有显示窗体形式:Load窗体名称(2)Unload语句:从内存删除窗体形式:Unload窗体名称,4)窗体方法(1)Show方法:显示一个窗体(当窗体没有Load,自动Load)窗体名称.Show模式0Modal:关闭才能对其他窗体进行操作。1Modeless,可以对其他窗体进行操作。(2)Hide方法:隐藏窗体,没有Unload删除窗体名称.Hide,5)不同窗体间数据的存取(1)存取控件的属性:另一窗体名.控件名.属性(2)存取变量的值:另一窗体名.全局变量名,【例】8.8输入和计算学习成绩。(p196,V6bJ08-08),模块:PublicMATHAsSinglePublicPHYSICSAsSinglePublicCHEMISTRYAsSinglePublicCHINESEAsSinglePublicENGLISHAsSingle,7.5鼠标器和键盘,1.鼠标器事件注意:鼠标事件发生在什么对象上,是窗体上还是控件上。Click事件,DblClick事件MouseDown事件,MouseUp事件,MouseMove事件SubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)(发生在窗体上的事件过程)MouseUp事件SubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)(发生在窗体上的事件过程)MouseMove事件SubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)(发生在窗体上的事件过程),(1)Button参数,B0为1:按下了左键;B1为1:按下了右键;B2为1:按下了中键。例如:Button为2(010B),即B1为1,表示按下了右键;如果按了左键,则B0为1,B1和B2为0,Button为1(001B)IfButton=1Then或者IfButton=vbLeftButtonThen这是按了左健后执行的代码Endif使用符号常数:1vbLeftButton:用户按下左键触发了鼠标事件;2vbRightButton:用户按下右键触发了鼠标事件;4vbMiddleButton:用户按下中键触发了鼠标事件。,(2)Shift参数,B0为1:按下了Shift键;B1为1:按下了Ctrl键;B2为1:按下了Alt键。例如:Shift为2(010B),即B1为1,表示仅按下了Ctrl键;如果同时按了Ctrl和Shift键,则B0和B1为1,B2为0,Shift为3(011B)注意:可能同时按下两个或三个键。如果Shift1成立,并不表示没有按下Shift,因为可能其他键也被按下了。如果要测试按下了某个键,则应用and进行位运算。例如Shiftand1成立,表示肯定按下了Shift(可能其他键也被按下了)。IfShift=2andButton=1Then这是仅按住Ctrl键单击鼠标左键后执行的代码EndIf,符号常数:1vbShiftMask;2vbCtrlMask;4vbAltMask。ShiftAndvbCtrlMask为真:按下了Ctrl键;CBool(ShiftAndvbCtrlMask)AndCBool(ShiftAndvbShiftMask)为真:按下了Ctrl键和Shift键,(3)x,y:鼠标的当前位置【例】7.13显示鼠标器指针所指的位置。(V6J07-13),2.键盘事件KeyPress事件过程SubForm_KeyPress(KeyAsciiAsInteger)Subobject_KeyPress(indexAsInteger,KeyAsciiAsInteger)KeyDown事件过程SubForm_KeyDown(keycodeAsInteger,shiftAsInteger)Subobject_KeyDown(indexAsInteger,keycodeAsInteger,shiftAsInteger)KeyUp事件过程SubForm_KeyUp(keycodeAsInteger,shiftAsInteger)Subobject_KeyUp(indexAsInteger,keycodeAsInteger,shiftAsInteger)参数说明:Shift与鼠标事件过程Shift相同。KeyCode:键盘扫描码;即用户所操作的物理键。KeyAscii:字符ASCII码。即与按键相对应的ASCII值。,区别,【例】7.16“锤打红心”游戏(V6J07-16),(1)利用上、下、左、右四个箭头键控制“铁锤”:“”:37(&H25)“”:38(&H26)“”:39(&H27)“”:40(&H28)(2)如果Abs(Image1.Left-Image2.left300)AndAbs(Image1.Top-Image2.Top320)成立,则认为是重叠,“铁锤”锤打到“红心”。(3)在窗体上的时钟控件(Timer1)过程中控制“红心”移动。Timer1的Interval属性为200,即每1秒产生5个Timer事件。,Image2,Image1,3.拖放(draganddrop),自动拖放,手工拖放,(1)DragMode属性0:(缺省),手工拖动模式;1:自动拖动模式。(2)DragIcon属性拖动过程中显示的图标(Ico或Cur文件)。lblExample1.DragIcon=LoadPicture(C:IconsMail.ico)lblExample2.DragIcon=picIcon.Picture(3)Drag方法当DragMode为0时,需用Drag方法启动拖放。控件名称.Drag参数0:取消拖放操作;1(省略):开始拖放操作;2:结束拖放操作。,【例】7.17拖放应用示例。(p176,V6J07-17)【例】7.18拖放应用示例。(p179
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60335-2-71:2002/AMD1:2007 EN-D Amendment 1 - Household and similar electrical appliances - Safety - Part 2-71: Particular requirements for electrical heating appliances
- 雅安公务员面试题及答案
- 耳鼻喉面试题及答案
- 河道清淤面试题及答案
- 保险课堂考试题及答案
- 校园安全知识培训课件新闻稿
- 离子色谱考试题及答案
- 职业病科考试试题及答案
- 水库防汛考试题及答案
- 2025年合肥七中紫蓬分校教师招聘考试笔试试题(含答案)
- 高等教育十五五发展规划
- 仓管员安全培训课件
- 2025年江西赣州市融资担保集团有限公司招聘笔试参考题库附带答案详解
- 2024-2025年第二学期学校国际交流合作计划
- 美国对全球加征关税
- 造口皮炎护理个案分享
- 海铁联运集装箱码头共享堆场堆存模板设计研究
- 农业新质生产力:助力乡村振兴
- 2025年下半年吉林省松原市前郭县事业单位招聘高校毕业生带编入伍19人历年自考难、易点模拟试卷(共500题附带答案详解)
- 青光眼中医护理查房
- 第二十章女性生殖内分泌疾病71课件
评论
0/150
提交评论