您现在的位置:首页 >> 课程案例 >> 内容

程序界面设计的综合应用实例

时间:2009-6-19 9:49:47 点击:2826

 

程序界面设计是软件开发中的一个重要环节,本章介绍了下拉菜单、弹出式菜单、通用对话框程序设计、状态栏设计、多重窗体设计和多文档界面设计等内容。本节通过案例再来说明界面设计的基本方法。

[]编写一个能启动小小记事本、画图、计算器及其它程序的小软件。要求小小记事本能进行简单的输入、编辑和存盘操作,画图、计算器及其它应用程序可以从windows平台中调用。

要求建立3个窗体文件,如图8.74所示:

8.74 工程资源管理器

其中窗体form3作为主窗体,用来列出小小记事本、画图、计算器及其它程序的界面,并启动这些程序。MDIform1窗体用来实现小小记事本程序的功能,能新建、保存文档,能进行移动、复制等编辑操作,其中form2是用来作为文档窗体的样本窗体。详细的设计过程如下:

 ()建立程序的主界面form3

1.界面设计。如图8.75所示建立界面。

8.75  程序主界面

界面窗体中包含四个按钮和一个通用对话框控件,其属性设置见表,其中通用对话框控件的添加可通过“工程”菜单中的“部件”命令,在对话框中添加“Microsoft common dialog control 6.0部件,则能在工具箱中添加通用对话框控件。

8.35  窗体上的对象及其属性设置

控件对象或窗体

name

Caption

窗体

Form3

 程序列表

按钮1

Command1

小小记事本

按钮2

command2

画图程序

按钮3

Command3

计算器程序

按钮4

Command4

其它程序

通用对话框

CommonDialog1

2.代码的添加

将以下代码添加到代码窗口中。

Private Sub Command1_Click()

MDIForm1.Show

End Sub

‘以上启动小小记事本程序

Private Sub Command2_Click()

Shell App.Path & "\mspaint.exe"

End Sub

‘该过程启动画图程序

Private Sub Command3_Click()

Shell App.Path & "\calc.exe"

End Sub

‘该过程启动计算器程序

Private Sub Command4_Click()

CommonDialog1.ShowOpen

Shell CommonDialog1.FileName

End Sub

‘该过程启动在打开对话框中所选择的程序

其中画图和计算器是windows中的附带程序,我们将这两个程序复制到了教学事例所在的文件夹。小小记事本程序是自建的一个小程序。

为了能在工程的运行中首先启动该欢迎界面,要在工程资源管理器中将该窗体设置为启动窗体。

 ()建立小小记事本程序的主界面MDIform1

小小记事本程序的主界面设计如图8.76所示,窗体上建立一个菜单,并添加一个通对话框控件。

8.76  小小记事本程序的主界面

窗体上各对象的属性设置见下表:

8.36  表其属性设置

控件对象或窗体

name

Caption

autoshowchildren

窗体

Mdiform1

 小小记事本

True

通用对话框

CommonDialog1

菜单

详见表

1.添加MDI窗体。在“工程”菜单下,选择“添加MDI窗体”命令,弹出“添加MDI窗体”对话框,选择“MDI窗体”选项,再单击“打开”按钮,建立新的MDI窗体,或把鼠标指向“Microsoft Visual Basic”窗口右侧“工程”窗口中的工程名,单击右键,弹出快捷菜单,从中选择“添加”命令,再从下一级菜单中选择“添加MDI窗体”命令。这时,添加了一个MDI窗体,既是MDI父窗体。

2.添加菜单。切换到对象窗口,执行“工具”菜单中的“菜单编辑器”,建立如图8.77所示的菜单。

8.77  菜单编辑器

菜单及各菜单项的属性设置见下表:

8.37  菜单及各菜单项的属性设置

标题

名称

文件(&F)

file

……新建(&N)

New

……保存(&S)

Save

……关闭(&C)

Close

……退出(&Q)

Exit

编辑(&E)

Edit

……剪切(&J)

Cut

……复制(&F)

Copy

……粘贴(&N)

Paste

窗口(&W)

Windows

……层叠(&C)

Cd

……水平平铺(&S)

Sppp

……垂直平铺(&Z)

czpp

菜单项前有“……”表示是下一级子菜单。

3.添加通用对话框控件commondialog1,方法同上。

4.给窗体添加代码。

Dim st As String

Dim i As Integer

Private Sub cd_Click()

MDIForm1.Arrange 0

End Sub

Private Sub czpp_Click()

MDIForm1.Arrange 2

End Sub

Private Sub sppp_Click()

MDIForm1.Arrange 1

End Sub

Private Sub exit_Click()

End

End Sub

Private Sub MDIForm_Load()

 Load Form2

 i = 0

End Sub

Private Sub close_Click()

 If i <> 0 Then

 Unload MDIForm1.ActiveForm

 i = i - 1

End If

End Sub

Private Sub Copy_Click()

 st = MDIForm1.ActiveForm.txtNoteEdit.SelText 

   '将选中的内容存放到st变量中

 MDIForm1.copy.Enabled = False

   '进行复制后,剪切和复制按钮无效

 MDIForm1.cut.Enabled = False

 MDIForm1.paste.Enabled = True

   '粘贴按钮有效

End Sub

Private Sub Cut_Click()

  st = MDIForm1.ActiveForm.txtNoteEdit.SelText  

 '将选中的内容存放到st变量中

  MDIForm1.ActiveForm.txtNoteEdit.SelText = "" 

   '将选中的内容清除,实现了剪切

  MDIForm1.copy.Enabled = False

  MDIForm1.cut.Enabled = False

  MDIForm1.paste.Enabled = True

End Sub

Private Sub new_Click()

  i = i + 1

  Dim myform As New Form2

  myform.Show

  myform.Caption = "文档" & i

End Sub

Private Sub Paste_Click()

   ' st变量中的内容插入到光标所在的位置,实现了粘贴

  MDIForm1.ActiveForm.txtNoteEdit.Text=_

Left(MDIForm1.ActiveForm.txtNoteEdit,_ MDIForm1.ActiveForm.txtNoteEdit.SelStart) _

+ st + Mid(MDIForm1.ActiveForm.txtNoteEdit,_

MDIForm1.ActiveForm.txtNoteEdit.SelStart + 1)

End Sub

Private Sub save_Click()

CommonDialog1.Filter = "文本文件(*.txt)|*.txt| _

doc文档|*.doc"

CommonDialog1.FilterIndex = 1

CommonDialog1.ShowSave

Open CommonDialog1.FileName For Output As #1

Print #1, MDIForm1.ActiveForm.txtNoteEdit.Text

Close #1

End Sub

()建立样本窗体form2

因为小小记事本程序可以建立多个文档窗体,但这些文档窗体都基于一个样本窗体,都是其副本。该窗体包含一个文本框,其界面如图8.78所示:

8.78  样本窗体

窗体上各对象的属性设置见下表。

8.38   窗体上各对象的属性设置

控件对象或窗体

name

Caption

Mdichild

multiline

窗体

Mdiform1

 文档0

True

文本框

txtNoteEdit

true

代码如下:

Private Sub Form_Load()         '设置剪切、复制、粘贴按钮无效

 MDIForm1.cut.Enabled = False

 MDIForm1.copy.Enabled = False

 MDIForm1.paste.Enabled = False

End Sub

Private Sub txtNoteEdit_MouseMove(Button As Integer, Shift As Integer, X As Single, _

Y As Single)

 If txtNoteEdit.SelText <> "" Then

 MDIForm1.cut.Enabled = True  

   ' 当拖动鼠标选中要操作的文本后,剪切、复制按钮有效

   MDIForm1.copy.Enabled = True

   MDIForm1.paste.Enabled = False

 Else

   MDIForm1.cut.Enabled = False 

  ' 当拖动鼠标未选中文本,剪切、复制按钮无效

   MDIForm1.copy.Enabled = False

   MDIForm1.paste.Enabled = True

 End If

End Sub

作者:Admin  
  • VB程序设计学习网站(赣南师范学院) © 2008 版权所有 All Rights Reserved.
  • 地址:江西省赣州市经济技术开发区 赣南师范学院数学与计算机科学学院 邮政编码:341000
    Email:ZQ188@163.com 技术支持QQ:87319633 移ICP备10086号
  • GnsySjxy! V2.4