![]() |
#2
yuma2012-07-09 15:44
显示 CoffeeMonitor 类的窗体
进程外部件既可以显示模式窗体,也可以显示无模式窗体。CoffeeMonitor 将首先演示这一点,因为结果也许会与期待的不同。 本主题的过程是往 CoffeeMonitor 类中添加 ShowForm 方法,加上使用该方法时需要的公共常数。 注意 本主题是逐步创建 ActiveX EXE 示例过程的一部分。选择“创建 ActiveX EXE 部件”,开始本主题。 要显示 CoffeeMonitor 类的窗体,请按照以下步骤执行: 在“工程资源管理器”窗口,双击“CoffeeMonitor”(或选中它,然后在“工程资源管理器”窗口的工具栏上单击“代码”按钮)来打开其代码窗口。 在声明段添加下述 Public Enum: Option Explicit Public Enum cfeModality cfeModal = vbModal cfeModeless = vbModeless End Enum 在类模块中被声明成 Public 的枚举型被添加到部件的类型库中。它与在其中定义它的类没有联系,但会成为全局名空间的一部分。 当 Visual Basic 包含 vbModal 和 vbModeless 时,为什么还要提供自己的常数呢?这些部件也许和不提供这些常数的开发工具一起使用。提供与 Visual Basic 兼容的常数是灵活的解决方案。 注意 在常数名前放置前缀“cfe”表示该常数属于 Coffee 部件,并减少了与其它部件的命名冲突。一些部件作者在前缀后采用两到三个大写字母来表示 Enum 型;在这则显得有些冗余。请参阅“部件设计的一般准则”中的“给部件提供命名的常数”。 在“工具”菜单上,单击“添加过程”打开“添加过程”对话框。在“名称”框中键入 ShowForm,单击“子程序”和“公共的”,然后单击“确定”。 在公共属性过程定义属性的同时,类模块中的公共子过程或函数过程定义类的方法。请参阅“部件设计的一般准则”中的“给类添加属性和方法”。 往子过程中添加下列代码: Public Sub ShowForm(Optional Modality As _ cfeModality = cfeModal) Dim frm As New TestForm If Modality = cfeModeless Then frm.Caption = "TestForm-Modeless" Else frm.Caption = "TestForm-Modeless" End If frm.Show Modality End Sub 如果键入的选项参数 Modality 被省略,则表示是模式窗体。键入的选项参数在《Visual Basic 程序员指南》的“编程基础”中的“给过程传递参数”中讨论。 因为 cfeModality 中的常数与 Visual Basic 提供的 vbModal 和 vbModeless 常数兼容,所以可以简单地把 Modality 参数传递给窗体的 Show 方法。如果提供了无效值,则 Show 方法会自动引发一个错误。 在“文件”菜单上,单击“生成 Coffee.exe”创建引用执行程序。 引用执行程序只需生成一次,它会帮助测试应用程序与本工程保持连接。请参阅“调试、测试和部署部件”中的“为进程外部件创建测试工程”。 按 CTRL+F5 键运行工程。 注意 如果选中“选项”对话框的“通用”选项卡上的“请求时编译”(“选项”对话框可从“工具”菜单上得到),就应当用 Ctrl+F5(或选中“运行”菜单上的“全编译执行”)来确保部件在测试前已被完全编译。部件给测试程序提供对象之后发生的编译错误是很难处理的。默认选中请求时编译。 重点 在编辑或运行测试程序前必须把工程置成运行模式,这一点在的“调试、测试和部署部件”中的“为进程外部件创建测试工程”中讨论。 |
VB中如何把系统的控制权锁定在当前的窗口中
也就是不能选择除此窗口以外的别的任何窗口
咱是新手 还不大懂
求助啊啊啊!!!!