版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用户界面设计 常用控件 通用对话框 菜单设计 多重窗体 鼠标和键盘 应用程序向导 综合应用 常用控件 一、单选按钮、复选框和框架 1、单选按钮(OptionButton ) 重要属性 Caption 按钮上显示的文本 Value 表示单选按钮的状态: True - 被选定 False - 未被选定 重要事件 Click事件 单击后使Value属性为True例:单选按钮示例 Private Sub Option1_Click() Label1.Caption = 教师 End Sub Private Sub Option2_Click() Label1.Caption = 学生 End Sub
2、Private Sub Option3_Click() Label1.Caption = 其他 End SubValue属性值为整型,表示复选框的状态: 0 vbUnchecked 未选定1 vbChecked 被选定2 vbGrayed 灰色并显示一个选中标记。2、复选框(CheckBox) 例:复选框示例 Private Sub Check1_Click() If Check1.Value = 1 Then Label1.Caption = 喜欢学习 Else Label1.Caption = 不喜欢学习 End If End Sub Private Sub Command1_Click(
3、) Text1.Font.Name = IIf(Option1, 宋体, 黑体) Text1.Font.Bold = IIf(Check1 = 1, True, False) Text1.Font.Italic = IIf(Check2 = 1, True, False) Text1.Font.Strikethrough = IIf(Check3 = 1, True, False) Text1.Font.Underline = IIf(Check4 = 1, True, False) End Sub 例:通过单选按钮和复选框设置文本框的字体3、框架 (Frame) 先建立框架,然后将各控件放置
4、其中。Caption属性 框架上的标题文本例1:框架用法示例 Private Sub Command1_Click() EndEnd SubPrivate Sub List1_Click() Text1.Text = List1.TextEnd Sub例2:摆出如下效果即可,具体代码实现在下一页。Private Sub Check1_Click() Combo1.Enabled = Not Combo1.Enabled Text1.Enabled = Not Text1.EnabledEnd SubPrivate Sub Check2_Click() Option1.Enabled = Not
5、 Option1.Enabled Option2.Enabled = Not Option2.EnabledEnd SubPrivate Sub Combo1_LostFocus() 当焦点离开组合框时组合框的LostFocus事件被触发,利用该事件过程将用户输入的计算机品牌添加到组合框中。 添加到组合框的新项目不能永久保存,下次运行该程序中看不到上次保存的项目。 flag = False For i = 0 To Combo1.ListCount - 1 If Combo1.List(i) = Combo1.Text Then flag = True Exit For End If Next
6、 If Not flag Then Combo1.AddItem Combo1.Text End IfEnd SubPrivate Sub Command1_Click() If Check1.Value = 1 Then List1.AddItem Combo1 List1.AddItem Text1 End If If Check2.Value = 1 Then If Option1 Then List1.AddItem Windows 2000 Else List1.AddItem Windows 98 End If End IfEnd SubPrivate Sub Form_Load(
7、) Combo1中的选项已在设计状态通过List属性设计Combo1.Enabled = FalseText1.Enabled = FalseOption1.Enabled = FalseOption2.Enabled = FalseEnd Sub二、滚动条和进度条 滚动条(ScrollBar)通常附在窗体上协助观察数据或确定位置, 也可作为数据输入工具。 进度条(ProgressBar)用来指示事务处理的进度。 滚动条有水平和垂直两种;进度条没有水平垂直之分 1、滚动条属性Value 滑块当前位置的值(缺省为0)Min 滑块最小位置值(缺省为0)Max 滑块最大位置值SmallChange
8、单击滚动条两端的箭头时, Value属性(滑块位置)改变值LargeChange 单击滚动条的空白区域时, Value属性改变值2、滚动条事件Scroll 当拖动滑块时触发 Changed 改变Value属性时触发例1:计算018之间某个数阶乘,数据由滚动条获得。Private Sub HScroll1_Change() Dim i As Integer, s As Double s = 1 n = HScroll1.Value If n 0 Then For i = 1 To n s = s * i Next i End If Label2.Caption = n & ! = Label3.
9、Caption = sEnd Sub属性设置: Max-18;Min-0;Value-0; SmallChange-1;LargeChange-3例2:设计一个调色板应用程序,使用三个滚动条 作为三种基本颜色的输入工具。属性设置: 三个滚动条的max、min、smallchange、largechange和value属性分别设置为255、0、1、25和0Dim Red, Green, Blue As Long 通用中写Private Sub Command1_Click() Text2.BackColor = text1.BackColorEnd SubPrivate Sub Command2
10、_Click() Text2.ForeColor = text1.BackColorEnd SubPrivate Sub HScroll1_Change() Red = HScroll1.Value Green = HScroll2.Value Blue = HScroll3.Value text1.BackColor = rgb(red,green,blue)End SubPrivate Sub HScroll2_Change() Red = HScroll1.Value Green = HScroll2.Value Blue = HScroll3.Value text1.BackColor
11、 = rgb(red,green,blue)End SubPrivate Sub HScroll3_Change() Red = HScroll1.Value Green = HScroll2.Value Blue = HScroll3.Value text1.BackColor = rgb(red,green,blue)End Sub3、ProgressBar控件 Max和Min 设置控件的界限 Value 控件执行阶段被填充数目,直到等于Max属性值。此控件需加载后才能使用使用方法:工程部件”控件”选项卡microsoft windows common controls 6.0 控件显示的
12、填充数是Value属性与Max和Min属性之间的比值。在对ProgressBar编程时,必须先确定Value属性上限。 例:下载文件,可将Max设置为文件长度。在该文件下载过 程中,将Value属性设置为文件已经下载的字节数。例:用进度条来指示一个大数组的计算进度。 Dim Counter As Integer Dim Workarea(25000) As String ProgressBar1.Min = LBound(Workarea) ProgressBar1.Max = UBound(Workarea) ProgressBar1.Visible = True ProgressBar1.
13、Value = ProgressBar1.Min 设置进度的值为Min 在整个数组中循环 For Counter = LBound(Workarea) To UBound(Workarea) ProgressBar1.Value = Counter Next Counter ProgressBar1.Value = ProgressBar1.Min Dim Counter As Integer ProgressBar1.Min = 1 ProgressBar1.Max = 10000 ProgressBar1.Value = 1 设置进度的值为Min 在整个数组中循环 For Counter
14、= 1 To 10000 ProgressBar1.Value = Counter Next Counter ProgressBar1.Value = ProgressBar1.Min三、图形框和图像框1、图形框Picture控件 作用:显示图片,也可作为其他控件的容器 图形框.Picture = LoadPicture(图形文件名) Autosize属性 True 图形框自动调整大小与图片匹配 False 图形超过图形框的部分将被剪裁掉在程序运行时装入图形删除图形框中图形,可用LoadPicture() 例如在第2章中的阿凡达示例例1:在picturebox1中显示图形“c:winntsoa
15、p bubbles.bmp” picture1.picture=“c:winntsoap bubbles.bmp” picture1.picture=loadpicture(“c:winntsoap bubbles.bmp”)例2:删除picturebox1中的图形 picture1.picture=loadpicture(“”)例3:装入另一个图形框中的图形 图形框1.pictrue=图形框2.picture 错误的正确的2、图像框Image Stretch属性 False 图像框自动改变大小适应其中的图形 True 图形根据图像框的大小自动调整尺寸例:设计一个如下所示的图形缩放程序。当拖动
16、滚动条 中的滑块时图形随之缩放。 图像框与图形框基本相同,例如,都具有picture属性,区别在于两点: 图像框不能作为容器存放其他控件 图像框没有autosize属性,但是有stretch属性Dim H, W As Integer H和W分别存放图形的原始大小Sub Check1_Click() Image1.Stretch = Check1.Value 复选框控制Image1的Stretch属性End SubSub Form_Load() H = Image1.Height 初始时,Image1的高度就是图像的原始高度 W = Image1.Width 初始时,Image1的宽度就是图像的
17、原始宽度End SubSub HScroll1_Scroll() Image1.Height = H * HScroll1.Value / 10 Image1按比例缩放高度 Image1.Width = W * HScroll1.Value / 10 Image1按比例缩放宽度End Sub注:将滚动条的max和min属性设置小一些。 如,max设为20;min设为0四、定时器 定时器以一定的时间间隔产生Timer事件 属性 Enabled 为False时定时器不产生Timer事件 Interval 触发Timer事件的时间间隔(ms) 事件 定时器控件只有一个Timer事件 产生Timer事
18、件条件Enabled=True; Interval0例1:设计一个倒计时应用程序注:设计时enabled为false;interval为1000 Dim t As IntegerSub Command1_Click() t = 60 * Val(Text1.Text) Timer1.Enabled = TrueEnd SubSub Timer1_Timer() Dim m, s As Integer t = t - 1 m = Int(t / 60) s = t Mod 60 Label1.Caption = m & 分 & s & 秒 If (t = 0) Then Timer1.Enabl
19、ed = False MsgBox (时间到!) End IfEnd Sub例2:制作标签的闪烁字效果 Sub Command1_Click() Timer1.Enabled = True End Sub Sub Timer1_Timer() If Label1.Visible = True Then Label1.Visible = False Else Label1.Visible = True End If End Sub注:设计时enabled为false;interval为1000 例3:用一个定时器控制蝴蝶在窗体内的飞舞 Private Sub cmdEnd_Click() End
20、End SubPrivate Sub Timer1_Timer() Static ImaBmp As Integer ImaMain.Move ImaMain.Left + 20, ImaMain.Top - 5 If ImaMain.Top = 0 Then ImaMain.Left = 0 ImaMain.Top = 1320 End If If ImaBmp Then ImaMain.Picture = ImaOpenWings.Picture Else ImaMain.Picture = ImaCloseWings.Picture End If ImaBmp = Not ImaBmpE
21、nd Sub通用对话框 VB提供了一组基于Windows的标准对话框。利用通用对话框控件可在窗体上创建打开文件、保存文件、颜色、字体、打印等对话框。 通用对话框仅用于应用程序与用户之间进行信息交互,是输入输出的界面,不能真正实现文件打开、文件存储、设置颜色、字体设置、打印等操作,如果想要实现这些功能则需要编程实现。引例:通过打开文件对话框,选择一个BMP位图文 件,在图形框中显示该图片。 Private Sub Command1_Click() 利用showopen显示打开文件对话框,也可以使用语句commondialog1.action=1 CommonDialog1.ShowOpen 利用
22、loadpicture函数把图片装入图形框中 Picture1.Picture =LoadPicture(CommonDialog1.FileName)End Sub通用对话框的载入方法:工程部件Microsoft Common Dialog Control 6.0部件。通用对话框的基本属性和方法 Action属性和Show方法 打开对话框 ShowHelp6帮助对话框ShowPrinter5打印机对话框ShowFont4字体对话框ShowColor3颜色对话框ShowSave2另存为对话框ShowOpen1打开文件对话框Show方法Action属性通用对话框的类型Action属性只能在程序中
23、赋值 DialogTiltle属性 设置通用对话框标题 CancelError属性 True:选择取消按钮,Err.Number设置为32755(cdCancel)。 False:选择取消按钮,没有错误警告。一、打开文件对话框由 ShowOpen方法来实现重要属性 : (1) FileName 文件名称,包含路径 (2) FileTitle 文件名,不包含路径 (3) Filter 确定所显示文件的类型 例:Text Files|*.txt|所有文件|*.* 显示文本文件和所有文件 (4) FilterIndex 文件列表中指定某类型文件 (5) InitDir 初始化路径 FilterFil
24、eNameInitDir FilterIndex例:编写一个简单的文本文件编辑程序对象属性设置text1multilinescrollbarstrue3-bothcommondialogfilenameInitdirFilterfilterindex*.txtC:Text files(*.txt)|*.txt|Fall files(*.*)|*.*1Private Sub Command1_Click() CommonDialog1.Action = 1 Text1.Text = Open CommonDialog1.FileName For Input As #1 打开文件进行操作 Do W
25、hile Not EOF(1) Line Input #1, inputdata 读一行数据 Text1.Text = Text1.Text + inputdata + vbCrLf Loop Close #1 关闭文件End Sub二、保存文件对话框 由 ShowSave方法来实现与打开文件对话框的属性基本相同,特有的属性是DefaultExt属性,用于设置缺省的扩展名 。例:为另存为命令按钮编写代码,保存文本框内的信息。 Sub Command1_Click () CommonDialog1.ShowSave 打开文件供写入数据 Open CommonDialog1.filename Fo
26、r Output As #1 Print #1, Text1.Text 保存文件 Close #1 关闭文件 End Sub 三、颜色对话框 由ShowColor方法打开颜色对话框重要属性Color,它返回或设置选定的颜色 设置文件框前景颜色例:为颜色命令按钮编写事件过程,设置文本框的前景色。 Sub Command1_Click () CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub四、字体对话框 由ShowFont方法来实现 Font获取选择的字体Color 选定的颜色显示字体对话框前必须设置Flag
27、s属性,否则将发生不存在字体错误 。常数值说明cdlCFScreenFonts&H1显示屏幕字体cdlCFPrinterFonts&H2显示打印机字体cdlCFBoth&H3显示打印机字体和屏幕字体cdlCFEffects&H100在“字体”对话框显示删除线和下划线复选框以及颜色组合框“字体”对话框flags属性设置值cdlCFEffects不能单独使用,应与其它常数一起进行“or”运算使用,因为它的作用仅仅是在对话框上附加删除线和下划线复选框以及颜色组合框例:为字体按钮编写设置文本框字体的过程。 Private Sub Command1_Click() CommonDialog1.Flags
28、 = cdlCFBoth Or cdlCFEffects CommonDialog1.ShowFont Text1.FontName =CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialo
29、g1.FontUnderline Text1.ForeColor= CommonDialog1.ColorEnd SubPrivate Sub cmdFont_Click() On Error Resume Next CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects CommonDialog1.ShowFont If CommonDialog1.FontName Then Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.Fon
30、tBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderlineEnd SubPrivate Sub cmdOpen_Click() CommonDialog1.CancelError = True On Error GoTo nofile CommonDialog1.ShowOpen Text1.Text =
31、 Open CommonDialog1.FileName For Input As #1 Do While Not EOF(1) Line Input #1, inputdata Text1.Text = Text1 + inputdata + vbCrLf Loop Close #1 Exit Subnofile: If Err.Number = 32755 Then MsgBox 按取消按钮 Else MsgBox 其它错误 End IfEnd SubPrivate Sub cmdSaveas_Click() On Error Resume Next CommonDialog1.ShowS
32、ave Open CommonDialog1.FileName For Output As #1 Print #1, Text1 Close #1End SubPrivate Sub cmdColor_Click() On Error Resume Next CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub cmdPrint_Click() On Error Resume Next CommonDialog1.Action = 5 For i = 1 To CommonDialog1.
33、Copies Printer.Print Text1.Text Next i Printer.EndDocEnd SubPrivate Sub cmdQuit_Click() EndEnd Sub例:通用对话框应用示例菜单设计 菜单有下拉式菜单和弹出菜单(单击鼠标右键)下拉式菜单的组成结构: 快捷键热键子菜单标记主菜单菜单项子菜单名分隔线 一、菜单编辑器 菜单列表框菜单项属性 操作按钮分隔线: 在标题栏输入一个连字符“-” 标题热键:前面加&。如,输入“新建(&N)”,则 菜单显示“新建(N)”,N为热键。快捷键:直接在菜单编辑器中选取即可注:一级标题不能加复选项工具菜单编辑器菜单项常用属性:
34、例:制作下拉菜单 Name 菜单项的控制名,在程序代码中使用 Text 菜单项上显示的标题文本 Enabled 用于控制菜单项是否可被选择 Visible 决定菜单项是否可见 ShortCut 设置菜单项的快捷键 Checked 控制菜单项左边是否显示“” 菜单项的事件Click 为菜单项编写程序 Private Sub FileExit_Click() EndEnd SubPrivate Sub FileNew_Click() Text1.Text = End SubPrivate Sub FileOpen_Click() CommonDialog1.ShowOpen 或用Action =
35、1 Text1.Text = Open CommonDialog1.FileName For Input As #1 打开文件进行读操作 Do While Not EOF(1) Line Input #1, inputdata 读一行数据 Text1.Text = Text1.Text + inputdata + vbCrLf Loop Close #1 关闭文件End Sub文本框属性设置: Multiline: true Scrollbars: 3-both二、弹出菜单 独立于窗体菜单栏而显示在窗体内的浮动菜单 显示位置取决于单击鼠标键时的位置 设计过程与普通菜单相同,在设计下拉菜单的同时
36、增加 一列快捷菜单的设置,并把要作为快捷菜单一列的 “可见”勾选去掉。菜单弹出的方法: 对象.PopupMenu 菜单名, 标志, x, y 说明:标志,表示弹出的位置和触发的键例:为上例文本框配置弹出菜单 Sub Text1_MouseDown() If Button = 2 Then PopupMenu EditMenu End Sub说明:button=2表示单击鼠标右键; edit为编辑菜单名。 增加一列的快捷菜单的name多重窗体 指一个应用程序中有多个并列的普通窗体,每个窗体有自己的界面和代码,完成不同的功能。一、添加窗体 工程添加窗体(或在工程资源管理器中单击右键添加) 同一工程
37、不能有相同名称的窗体 。二、设置启动对象 工程属性(或在工程资源管理器中单击右键工程属性)三、窗体语句 Load语句 装入窗体到内存(不显示) Load 窗体名称 Unload语句 从内存删除窗体 Unload 窗体名称 或 Unload Me Show方法 显示窗体 窗体名称.Show 模式 模式为0:关闭才能对其它窗体进行操作 模式为1 :可以同时对其它窗体进行操作 Hide方法 隐藏窗体 窗体名称. Hide四、不同窗体数据的存取 直接访问另一个窗体上的控件数据 另一个窗体名.控件名.属性 Text1 = Val(Form2.Text1) + Val(Form2.Text2) 访问另一个
38、窗体中的全局变量 另一个窗体名.全局变量名例:多重窗体应用:输入学生五门课程的成绩,计算总分及 平均分并在不同窗体内显示。 模块代码: Public sMath, sPhysics, sChemistry, sChinese, sEnglish As SinglePrivate Sub Command1_Click() Form1.Hide 隐含主窗体 Form2.Show 显示Form2窗体End SubPrivate Sub Command2_Click() Form1.Hide 隐含主窗体 Form3.Show 显示Form2窗体End SubPrivate Sub Command3_C
39、lick() EndEnd SubPrivate Sub cmdReturn_Click() sMath = Val(txtMath.Text) sPhysics = Val(txtPhysics.Text) sChemistry = Val(txtChemistry.Text) sChinese = Val(txtChinese.Text) sEnglish = Val(txtEnglish.Text) Form2.Hide Form1.ShowEnd SubPrivate Sub cmdReturn_Click() Form3.Hide Form1.ShowEnd SubPrivate S
40、ub Form_Activate() Dim sTotal As Single sTotal = sMath + sPhysics + sChemistry + sChinese + sEnglish txtAverage.Text = sTotal / 5 txtTotal.Text = sTotalEnd Sub一、鼠标 鼠标事件:由用户操作鼠标而引发的能被各种对象识别的事件。 Click、DblClick事件 MouseDown 按下任意一个鼠标按钮时被触发 MouseUp 释放任意一个鼠标按钮时被触发 MouseMove 移动鼠标时被触发鼠标和键盘 三个鼠标事件过程如下: Sub Fo
41、rm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)参数说明: 1、button参数指示用户按下或释放了哪个鼠标按钮,其值的意义如下表:值VB常数含义1vbLeftButton按下或释放了鼠标左键2vbRightButton按下或释放了鼠标右键3vbMiddleButton按下或释放了鼠标中键例:当button=2或button=vbRightButton时,表示用户按下或释放了鼠标右键。2、X,Y表示当前鼠标的位置例1:显示鼠标器指针所指的位置。 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Text = X Text2.Text = YEnd Sub例2:设计一个最简单的画图程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南安阳市文旅集团招聘工作人员16人备考题库附答案详解ab卷
- 2026西安市北方医院招聘备考题库(15人)及答案详解(全优)
- 2026湖南教师邵阳县编制教师招聘17人备考题库及答案详解参考
- 2026陆军第七十二集团军医院高层次人才引进及第一批招聘聘用人员33人备考题库含答案详解(完整版)
- 2026宁夏中卫工业园区管理委员会招聘安全监管人员6人备考题库附答案详解(精练)
- 2026福建厦门市集美区松山实验幼儿园顶岗教师招聘1人备考题库附答案详解(综合卷)
- 2026宁波农商发展集团有限公司招聘1人备考题库附答案详解(基础题)
- 2026湖南株洲攸县人民医院招聘27人备考题库含答案详解(满分必刷)
- 2026四川雅安市第九中学选调事业人员2人备考题库附答案详解(综合卷)
- 2026新疆博尔塔拉周年博乐市边合区产业发展投资有限公司招聘1人备考题库及答案详解(网校专用)
- 海南省5年(2021-2025)高考物理真题分类汇编:专题09 热学与光学(原卷版)
- 云财务知识培训课件
- 2025年电力工程师高级职称评审要点与面试题库及答案
- 2025年空军军队文职技能岗考试文化活动复习题及答案
- 电力市场交易管理办法
- 【《人脸识别技术中个人信息保护的法律规制探析》10000字】
- 政府绩效管理(第二版)课件 方振邦 第1-4章 政府绩效管理概述-政府绩效监控
- 2026年高考数学一轮复习策略《指向深度学习的高中数学教学策略》讲座
- 生物质颗粒采购合同范本
- 青海教师退休管理办法
- 码头防风防汛管理制度
评论
0/150
提交评论