$PBExportHeader$m_rpt_mod.srm forward global type m_rpt_mod from menu end type type m_main from menu within m_rpt_mod end type type m_item2 from menu within m_main end type type m_另存为 from menu within m_main end type type m_item4 from menu within m_main end type type m_item5 from menu within m_main end type type m_2 from menu within m_main end type type m_导出 from menu within m_main end type type m_导入 from menu within m_main end type type m_- from menu within m_main end type type m_刷新 from menu within m_main end type type m_1 from menu within m_main end type type m_属性 from menu within m_main end type type m_main from menu within m_rpt_mod m_item2 m_item2 m_另存为 m_另存为 m_item4 m_item4 m_item5 m_item5 m_2 m_2 m_导出 m_导出 m_导入 m_导入 m_- m_- m_刷新 m_刷新 m_1 m_1 m_属性 m_属性 end type global type m_rpt_mod from menu m_main m_main end type end forward global type m_rpt_mod from menu m_main m_main end type global m_rpt_mod m_rpt_mod type variables Powerobject Anyobject end variables forward prototypes public subroutine popupmenu (integer x, integer y) public subroutine setmenuitem (string itemstring) public subroutine setitemdisabled (integer itemorder) public subroutine setiteminvisible (integer itemorder) end prototypes public subroutine popupmenu (integer x, integer y);this.m_main.popmenu(x,y) end subroutine public subroutine setmenuitem (string itemstring);int itempos,itemorder=1,i string currentitem if len(itemstring)=0 then return itempos=pos(itemstring,"|") DO WHILE itempos<>0 // itempos为间隔符"|"的位置 currentitem=left(itemstring,itempos - 1) //取出子串 itemstring=mid(itemstring, itempos+1) this.m_main.item[itemorder].text=currentitem itempos=pos(itemstring,"|") itemorder++ LOOP this.m_main.item[itemorder].text=itemstring for i=1 to itemorder this.m_main.item[i].visible=true this.m_main.item[i].enabled=true next for i=itemorder+1 to 15 this.m_main.item[i].visible=false next end subroutine public subroutine setitemdisabled (integer itemorder);if itemorder<1 or itemorder>15 then return this.m_main.item[itemorder].enabled=false end subroutine public subroutine setiteminvisible (integer itemorder);if itemorder<1 or itemorder>15 then return this.m_main.item[itemorder].visible=false end subroutine on m_rpt_mod.create m_rpt_mod=this call super::create this.text = "m_popup" this.m_main=create m_main this.Item[UpperBound(this.Item)+1]=this.m_main end on on m_rpt_mod.destroy call super::destroy destroy(this.m_main) end on type m_main from menu within m_rpt_mod m_item2 m_item2 m_另存为 m_另存为 m_item4 m_item4 m_item5 m_item5 m_2 m_2 m_导出 m_导出 m_导入 m_导入 m_- m_- m_刷新 m_刷新 m_1 m_1 m_属性 m_属性 end type on m_main.create call super::create this.text = "main" this.m_item2=create m_item2 this.m_另存为=create m_另存为 this.m_item4=create m_item4 this.m_item5=create m_item5 this.m_2=create m_2 this.m_导出=create m_导出 this.m_导入=create m_导入 this.m_-=create m_- this.m_刷新=create m_刷新 this.m_1=create m_1 this.m_属性=create m_属性 this.Item[UpperBound(this.Item)+1]=this.m_item2 this.Item[UpperBound(this.Item)+1]=this.m_另存为 this.Item[UpperBound(this.Item)+1]=this.m_item4 this.Item[UpperBound(this.Item)+1]=this.m_item5 this.Item[UpperBound(this.Item)+1]=this.m_2 this.Item[UpperBound(this.Item)+1]=this.m_导出 this.Item[UpperBound(this.Item)+1]=this.m_导入 this.Item[UpperBound(this.Item)+1]=this.m_- this.Item[UpperBound(this.Item)+1]=this.m_刷新 this.Item[UpperBound(this.Item)+1]=this.m_1 this.Item[UpperBound(this.Item)+1]=this.m_属性 end on on m_main.destroy call super::destroy destroy(this.m_item2) destroy(this.m_另存为) destroy(this.m_item4) destroy(this.m_item5) destroy(this.m_2) destroy(this.m_导出) destroy(this.m_导入) destroy(this.m_-) destroy(this.m_刷新) destroy(this.m_1) destroy(this.m_属性) end on type m_item2 from menu within m_main end type event clicked;Anyobject.triggerevent("ue_add_rpt") end event on m_item2.create call super::create this.text = "新建" end on on m_item2.destroy call super::destroy end on type m_另存为 from menu within m_main end type on m_另存为.create call super::create this.text = "另存为" end on on m_另存为.destroy call super::destroy end on event clicked;Anyobject.triggerevent("ue_copy_rpt") end event type m_item4 from menu within m_main end type event clicked;Anyobject.triggerevent("ue_open_main") end event on m_item4.create call super::create this.text = "编辑报表" end on on m_item4.destroy call super::destroy end on type m_item5 from menu within m_main end type event clicked;Anyobject.triggerevent("ue_del_rpt") end event on m_item5.create call super::create this.text = "删除" end on on m_item5.destroy call super::destroy end on type m_2 from menu within m_main end type on m_2.create call super::create this.text = "-" end on on m_2.destroy call super::destroy end on type m_导出 from menu within m_main end type on m_导出.create call super::create this.text = "导出" end on on m_导出.destroy call super::destroy end on type m_导入 from menu within m_main end type on m_导入.create call super::create this.text = "导入" end on on m_导入.destroy call super::destroy end on type m_- from menu within m_main end type on m_-.create call super::create this.text = "-" end on on m_-.destroy call super::destroy end on type m_刷新 from menu within m_main end type event clicked;Anyobject.triggerevent("ue_resh_rpt") end event on m_刷新.create call super::create this.text = "刷新" end on on m_刷新.destroy call super::destroy end on type m_1 from menu within m_main end type on m_1.create call super::create this.text = "-" end on on m_1.destroy call super::destroy end on type m_属性 from menu within m_main end type event clicked;Anyobject.triggerevent("ue_mod_rpt") end event on m_属性.create call super::create this.text = "属性" end on on m_属性.destroy call super::destroy end on