1、vfp自制主菜单调用菜单及工具栏vfp自制主菜单调用菜单及工具栏自制主菜单调用菜单及工具栏自制主菜单调用菜单及工具栏自制主菜单调用菜单及工具栏一、建立项目mainmenu二、建立菜单menu1.在项目中新建菜单menu2.文件和查看子菜单如图,其他的忽略不在说明,主要讲功能的实现:3.制作好菜单后,点击“显示”菜单选择“常规选项”,勾选顶层表单复选框,确定。如图:点击“菜单”菜单选择“生成”,生成一个同名的菜单,确定。如图:三、建立类库libs,派生于toolbar,建立工具栏。如图Libs包含(command1、command2等按钮)Libs.initDECLARE INTEGER She
2、llExecute IN shell32.DLL INTEGER HWND, STRING,;STRING lpszFile,STRING ,STRING ,INTEGERLibs.Undockclea dllsLibs.caption工具栏Libs.ControlBox假Libs.Enabled真Libs.ShowWindow1-最上层表单Command1.clickDO FORM frmwen1四、建立表单1.建立调用工具栏的表单frmtools,建立表单集formset表单集formset(包含表单frmtools)Formset.initSET CLASSLIB TO Libs ADD
3、ITIVE &打开包含工具栏的类库This.AddObject(mybar,libs) &建立对象This.mybar.Show &显示工具栏对象This.mybar.Dock(0) &靠窗口上方停靠Formset.AutoRelease真Formset.NameFormsetFormset.visible假FrmTools.Caption无FrmTools.Desktop假FrmTools.MDIForm真FrmTools.ShowWindow1-在顶层表单中FrmTools.visible假FrmTools.NameFrmTools2.建立主表单frmbegin,主表单的大部分属性在mai
4、n中程序中。表单frmbegin(包含一个退出按钮)Frmbegin.initDO menu.mpr WITH this,.t. &调用主菜单Frmbegin.unloadCLOSE ALLCLEAR EVENTSQuitFrmbegin.Caption无Frmbegin.Closable假Frmbegin.NameFrmbeginFrmbegin.ShowWindow2-作为顶层表单Frmbegin.WindowType0-无模式退出按钮.clickThisform.release3.建立“文件1”按钮所调用的表单frmwen1(主要用于说明程序的功能,没有实用性)表单frmwen1(包含一
5、个退出按钮)Frmwen1.loadSET SKIP OF BAR 1 OF 文件 .T.IF WEXIST(frmTools)frmTools.Mmand1.Enabled=.F.ENDIFFrmwen1.unloadSET SKIP OF BAR 1 OF 文件 .F.IF WEXIST(frmTools)frmTools.Mmand1.Enabled=.T.ENDIFFrmwen1.AutoCenter真Frmwen1.Closable假Frmwen1.NameFrmwen1Frmwen1.MaxButton假Frmwen1.MinButton假Frmwen1.ShowWindow1-在
6、顶层表单中Frmwen1.WindowType0-无模式*退出按钮.clickThisform.release*一定要设置为无模式,否则工具栏会出问题。四、建立程序1.建立工具栏程序gjxzIF WEXIST(frmTools) RELEASE WINDOWS frmToolsELSE DO FORM frmTools NAME frmTools IF WEXIST(frmwen1) frmTools.Mmand1.Enabled=.F. ENDIFENDIFSET MARK OF BAR 1 OF 查看 TO WEXIST(frmTools)2.建立主程序mainSET TALK OFF &
7、关闭命令显示SET ESCAPE OFF &禁止运行的程序在按ESC键后被中断SET EXCLUSIVE OFF &允许网络上的任何用户共享和修改网络上打开的表SET HELP ON &当按下F1键或在命令窗口中执行HELP命令时,显示帮助窗口*SET HELP TO Help.chm &指定帮助文件SET CONSOLE ON &将所有的结果输出到vfp主窗口或活动的用户自定义窗口中SET DATE ANSI &指定日期表达式的显示格式为yy.mm.ddSET CENTURY ON &指定日期中的年为4位数SET SAFETY OFF &指定在改写已有文件时不显示对话框SET STATUS
8、BAR ON &打开VFP状态栏SET COLOR TO &设置颜色为默认状态SET HOURS TO 24SET SYSMENU OFF &关闭系统菜单SET NOTIFY OFF SET NOTIFY CURSOR OFF &不在状态栏中显示数据信息CLEAR &清除主窗口CLEAR ALL &清除变量WITH _Screen &设置VFP主窗口为不可见 .WindowState=1 .Visible=.F.ENDWITHPUBLIC frmbegin,frmtools,frmwen1 &定义表单名称全局变量DO FORM frmBegin NAME frmbegin &运行主表单Begi
9、nWITH frmbegin &设置主表单为可见、最大化、标题 .Visible=.T. .Closable=.f. .ControlBox=.T. .MaxButton=.T. .MinButton=.T. .Movable=.T. .Top=0 .Left=0 .Caption=自制主表单调用菜单及工具栏实例ENDWITH DO FORM frmTools NAME frmTools &打开工具栏SET MARK OF BAR 1 OF TO WEXIST(frmTools)READ EVENTS*以下为程序设计时使用的,就不用总是要打开VFP程序了!ON SHUTDOWNWITH _Screen &设置VFP主窗口 .WindowState=1 .Visible=.t.ENDWITH