魔兽世界7.0隐形药水:如何在顶层表单里使用自己的工具栏和菜单

来源:百度文库 编辑:九乡新闻网 时间:2024/05/02 11:32:22
小知识: 如何在顶层表单里使用自己的工具栏和菜单
我喜欢用顶层表单做自己程序的主窗口,很少用VFP的主窗口. 在顶层表单里加入工具栏和菜单的步骤如下:
1.建立自己的工具栏类,比如My_Tools.vcx,里边包含工具栏 Tool_Bar
2.建立自己的菜单,比如 MyMenu.mpr,打开菜单设计器时,在VIEW菜单的OPTIONS(选项)里,选定"显示在顶层表单里"
3.建立一个表单,比如MainForm,Showwindow属性设为 2-顶层表单,其它表单的该属性设1-显示在顶层表单内
4.建立一个PRG文件作为项目的主程序,里边包含下面的代码:
Public oMyBar
Do Form MainForm Name MainForm
Set ClassLib To My_Tools.vcx
oMyBar=CreateObject("My_Tools.Tool_Bar")
oMyBar.Show &&这个工具栏会自动显示在顶层表单的左上角
Read Events
**这样oMyBar和MainForm变量可以在所有表单里直接调用.顶层表单DESTROY事件里加入CLEAR EVENTS
5. 在顶层表单的INIT事件里,加入启动菜单的命令
Do MyMenu.mpr With This, .T.
这样,菜单就会在顶层表单最上边显示处理.
6. 要隐藏VFP主窗口,在项目里加入CONFIG.FPW文件,里边包含一句 SCREEN=OFF
7. 最好有自己的表单类,在里边加入一些属性和方法,便于工具栏调用. 比如,自定义表单里有方法xAdd, 每个表单都是基于这个类,就都有这方法了.在工具栏的添加按钮点击事件里,只需加入:
_Screen.ActiveForm.xAdd()
这个工具栏就对每个表单都能起作用了.
8. 工具栏按钮和菜单的协调显示. 在菜单里,只要加入相应的工具栏按钮点击事件就可以.
比如在"添加记录"菜单项的SKIP FOR条件里,加入
!oMyBar.cmdAdd.Enabled
在该项菜单命令里加入:
oMyBar.cmdAdd.Click
这样当工具栏的按钮可以用时,相应的菜单项也可用. 用按钮的状态来控制菜单项的是否可用. 而按钮的状态,应该在各个表单里根据当前所处的状态来确定.