通过运行时显示“选择性粘贴”和“插入对象”对话框,允许用户创建一系列对象。当创建以文档为中心的应用程序时就可以这样做。在这种应用程序中,用户结合来自不同应用程序的数据创建一个单一的文档。例如,这个应用程序可能是一个字处理器,在这个处理器中,用户可能输入一些正文,然后使用“插入对象”或“选择性粘贴”对话框嵌入电子数据表和图表。
用 OLE 容器控件的 Insert ObjDlg 方法显示“插入对象”对话框,或用 PasteSpecialDlg 方法显示“选择性粘贴”对话框。这两个对话框让用户决定什么对象进入 OLE 容器控件。
通过在事件—比如一个菜单的 Click 事件— 中调用适当的方法,在运行时显示这些对话框:
Private Sub cmdInsert_Click () '
显示“插入对象”对话框。oleObj1.InsertObjDlg
'
检查是否用OLEType
属性'
创建一个对象。If oleObj1.OLEType = vbOLENone Then
MsgBox "Object Not Created."
End If
End Sub
Private Sub oleObj1_Click ()
'
决定包含在剪贴板中的数据能否被粘贴进OLE
容器控件。If oleObj1.PasteOK Then
'
显示“选择性粘贴”对话框。oleObj1.PasteSpecialDlg
'
检查对象是否已被创建。If oleObj1.OLEType = vbOLENone Then
MsgBox "Object Not Created."
End If
End If
End Sub
一旦对话框被显示,就不再需要写更多的代码去创建对象。用户只要在对话框中作出选择,再选“确定”,便可创建对象。如果用户取消对话,将不能创建对象。
注意 在显示“插入对象”或“选择性粘贴”对话框之前,您可能想确定 OLEType 属性的值,看看 OLE 容器控件是否包含链接对象、嵌入对象或没有对象,正如前面的代码示例中演示的那样。
常数 vbOLENone 和其它固有的常数被列在“对象浏览器”的 Visual Basic (VB) 对象库中。