ON SELECTION BAR 1 OF filepad ;
***** 编辑项菜单
DEFINE POPUP editpad MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR _med_undo OF editpad PROMPT "撤消(\ KEY CTRL+Z, "Ctrl+Z" ;
MESSAGE "撤消上一次命令或操作"
DEFINE BAR _med_redo OF editpad PROMPT "重作(\ KEY CTRL+R, "Ctrl+R" ;
MESSAGE "重复上一次命令或操作"
DEFINE BAR 3 OF editpad PROMPT "\-"
DEFINE BAR _med_cut OF editpad PROMPT "剪切(\ KEY CTRL+X, "Ctrl+X" ;
MESSAGE "移去选定内容并将其放入剪贴板"
DEFINE BAR _med_copy OF editpad PROMPT "复制(\ KEY CTRL+C, "Ctrl+C" ;
MESSAGE "将选定内容复制到剪贴板"
DEFINE BAR _med_paste OF editpad PROMPT "粘贴(\ KEY CTRL+V, "Ctrl+V" ;
MESSAGE "粘贴剪贴板上的内容"
DEFINE BAR 7 OF editpad PROMPT "\-"
DEFINE BAR _med_slcta OF editpad PROMPT "全选(\ KEY CTRL+A, "Ctrl+A" ;
MESSAGE "选定当前窗口中的所有文本或数据项"
******帮助菜单项
DEFINE POPUP helppad MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF helppad PROMPT "帮助文件"
DEFINE BAR 2 OF helppad PROMPT "\-"
DEFINE BAR 3 OF helppad PROMPT "有关泽冠MRP管理系统"
DEFINE BAR 4 OF helppad PROMPT "\-"
ON SELECTION BAR 1 OF helppad HtmlHelpA(0,"mrp.chm",0,"weltouse.htm")
ON SELECTION BAR 3 OF helppad do form aboutinfo
**** 定义二级菜单 S (System)
for k=1 to m_num
i=1
DEFINE POPUP (a_menupops[k]) MARGIN RELATIVE shadow COLOR SCHEME 4
select * from global_right where program_id like m_menu[k] and len(alltrim(program_id))<=3 into cursor temp
&&&temp 为第二级菜单有的项目
select temp
scan
programid=temp.program_id
if descr="-" then
DEFINE BAR i OF (a_menupops[k]) PROMPT "\-"
i=i+1
loop
endif
if forbit=.t.
define bar i of (a_menupops[k]) prompt alltrim(temp.program_id)+" "+alltrim(temp.descr)
set skip of bar i of (a_menupops[k]) .t.
else
if search=.f. and amend=.f. and new=.f. and candele=.f. then
define bar i of (a_menupops[k]) prompt alltrim(temp.program_id)+" "+alltrim(temp.descr)
set skip of bar i of (a_menupops[k]) .t.
else
define bar i of (a_menupops[k]) prompt alltrim(temp.program_id)+" "+alltrim(temp.descr)
endif
endif
select tempp &&tempp 有第三级菜单的第二级菜单
locate for left(program_id,3)=alltrim(programid)
if found() then && 该菜单有子菜单
for j=13 to alen(a_menupops)
if a_menupops[j]=temp.descr then
on bar i of (a_menupops[k]) activate popup (a_menupops[j])
i=i+1
exit
endif
endfor
loop
endif
on selection bar i of (a_menupops[k]) do onselectdo in mainmenu with prompt() &&& form ¯o1
i=i+1
endscan
endfor
&& 定义第三级菜单
for m=m_num+1 to alen(a_menupops)
define popup (a_menupops[m]) margin relative shadow color scheme 4
select tempp &&有第三级菜单的第二级菜单项
locate for alltrim(tempp.descr)=a_menupops[m]
if not found() then
messagebox("该系统不存在",0+16+0,"ERROR")
return
endif
programid=tempp.program_id
select * from temp_menu where left(program_id,3)=programid into cursor temp2
select temp2
k=1
scan
if descr="-" then
DEFINE BAR k OF (a_menupops[m]) PROMPT "\-"
k=k+1
loop
endif
if forbit=.t. then
define bar k of (a_menupops[m]) prompt alltrim(temp.program_id)+" "+alltrim(temp.descr)
set skip of bar k of (a_menupops[k]) .t.
else
if search=.f. and amend=.f. and new=.f. and candele=.f. then
define bar k of (a_menupops[m]) prompt temp2.program_id+" "+alltrim(temp2.descr)
set skip of bar k of (a_menupops[m]) .t.
else
define bar k of (a_menupops[m]) prompt temp2.program_id+" "+alltrim(temp2.descr)
endif
endif
on selection bar k of (a_menupops[m]) do onselectdo in mainmenu with prompt() &&& form ¯o1
k=k+1
endscan
endfor
ACTIVATE MENU (m.cMenuName) NOWAIT
IF m.cTypeParm2 = "C"
m.getMenuName = m.cMenuName
m.oFormRef.Name = m.cSaveFormName
ENDIF
if used("temp2") then
use in temp2
endif
if used("temp") then
use in temp
endif
if used("tempp") then
use in tempp
endif
*** 设置打印机 和纸张
PROCEDURE setupprint
LOCAL lcOldError
lcOldError = ON('ERROR')
ON ERROR *
=SYS(1037)
ON ERROR &lcOldError
PROCEDURE proexit
if messagebox("确认退出MRPII管理系统?",4+32+256,"系统提示")=6 then
mainform.release
endif
Procedure OnSelectDo
Parameter Windowname
Windowname=Left(windowname,At(' ',windowname)-1)
IF WEXIST(windowname)
Activate Window &windowname
_Screen.ActiveForm.WindowState=0
ELSE
DO Form &windowname
ENDIF
procedure openform
dimension nheaders(2),nfields(2),ngws(2)
nlable="程序名:"
ntable="company_data"
nheaders[1]="程序名"
nheaders[2]="程序说明"
nfields[1]='program_id'
nfields[2]='program_name'
ngws[1]=100
ngws[2]=250
svalue=''
nsql="exec get_program_right ?user_no_,2"
do form search with nsql,nfields[1],nlable,svalue,nheaders,ngws,320,50 to rekey &&
if empty(rekey)
return .f.
else
rekey=alltrim(rekey)
IF WEXIST(rekey)
Activate Window &rekey
_Screen.ActiveForm.WindowState=0
ELSE
DO Form &rekey
ENDIF
endif
责任编辑:小草