注意 NegotiateMenus 属性不适用于 MDI 窗体。
控制工具栏的外观
MDI 窗体的 NegotiateToolbars 属性决定了链接或嵌入对象的工具栏是不固定的调色板还是被放置在父窗体上。这种性能不要求工具栏出现在 MDI 父窗体上。如果 MDI 窗体的 NegotiateToolbars 属性设为 True,则对象的工具栏出现在 MDI 父窗体上。如果 NegotiateToolbars 设为 False,则对象的工具栏就为不固定的调色板。
注意 NegotiateToolbars 属性只用于 MDI 窗体。
如果 MDI 窗体包含工具栏,它通常被包含在父窗体的 PictureBox 控件中。图片框的 Negotiate 属性决定了被激活时容器的工具栏是继续显示还是被对象的工具栏所代替。如果 Negotiate 设置为 True,则除了容器的工具栏外还显示对象的工具栏。如果 Negotiate 设置为 False,则对象的工具栏代替容器的工具栏。
注意 菜单与工具栏的协调只发生在支持现场激活的可插入对象之上。有关现场激活的详细信息,请参阅第十章“用部件编程”。用以下过程可以看到这三个属性如何交互作用。
要执行菜单与工具栏的协调,请按照以下步骤执行:
1. 在 MDI 窗体中添加工具栏。这在本章前面的“创建工具栏”中描述过。
2. 在子窗体上放置一个可插入的对象。
3. 设置 NegotiateMenus、NegotiateToolbars 以及 Negotiate 属性。
4. 运行此应用程序,然后双击该对象。
对话框
在基于 Windows 的应用程序中,对话框被用来:
提示用户提供应用程序继续执行所需要的数据。
向用户显示信息。
例如,在 Visual Basic 中,用“打开文件”对话框来显示已存在的工程。VisualBasic 中的“关于”对话框也是一个如何使用对话框来显示信息的例子。在菜单栏上单击“帮助”,选择“关于 Visual Basic”菜单项,则显示“关于”对话框。
模式与无模式的对话框
对话框不是模式就是无模式的。模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载)。例如,如果一个对话框,在可以切换到其它窗体或对话框之前要求先单击“确定”或“取消”,则它就是模式的。
Visual Basic 中的“关于”对话框是模式的。显示重要消息的对话框总应当是模式的——那就是说,在继续做下去之前,总是要求用户应当先关上对话框或者对它的消息作出响应。
无模式的对话框允许在对话框与其他窗体之间转移焦点而不用关闭对话框。当对话框正在显示时,可以在当前应用程序的其他地方继续工作。无模式对话框很少使用。Visual Basic 中“编辑”菜单中的“查找”对话框就是一个无模式对话框的实例。无模式对话框用于显示频繁使用的命令与信息。
要将窗体作为模式对话框显示,请
1.使用 Show 方法,其 style 参数值为 VBModal(一个值为 1 的常数)。例如:
'将 frmAbout 作为模式对话框显示。
frmAbout.Show vbModal
要将窗体作为无模式对话框显示,请
2.使用不带 style 参数的 Show方法。
例如:
'将 frmAbout 作为无模式对话框显示。
frmAbout.Show
注意 如果窗体显示为模式对话框,则只有当对话框关闭之后,在 Show 方法后的代码才能执行。然而,当窗体被显示为无模式对话框时,在该窗体显示出来以后,Show 方法后面的代码紧接着就会执行。
Show 方法另有一个可选参数,owner,可用来指定窗体的父子关系。可将某个窗体名传给这个参数,使得这个窗体成为新窗体的拥有者。要显示一个窗体,作为另一个窗体的子窗体,请
这里 Show 方法有两个参数:style 和 owner。
例如:
' 将 frmAbout 显示为 frmMain 的无模式子窗体。
frmAbout.Show vbModeless, frmMain
在 Show 方法中使用 owner 参数,确保对话框在它的父窗体最小化时它也最小化,或者在其父窗体关闭时它也卸载。
预定义对话框的使用
在应用程序中添加对话框最容易的方法是使用预定义对话框,因为不必考虑设计、装载或者显示对话框方面的问题。然而,控件在其外观上要受到限制。预定义的对话框总是模式的。
下表列出了 Visual Basic 应用程序中添加预定义对话框时能使用的函数。
用输入框来提示输入
应用 InputBox 函数请求提供数据。这个函数显示要求输入数据的模式对话框。图 6.17 所示的文本输入框提示输入要打开文件的名称。

以下代码显示图 6.17 中所示的输入框。
FileName = InputBox("Enter file to open:", "File Open")
注意 切记当使用 InputBox 函数时,对对话框的各部分的控制非常有限。只能改变标题栏中的文本、显示给用户的命令提示、对话框在屏幕上的位置以及它是否显示一个“帮助”按钮。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




