$PBExportHeader$m_xls_dfc_control_popupmenu.srm $PBExportComments$超级菜单 forward global type m_xls_dfc_control_popupmenu from menu end type type m_commonpopup from menu within m_xls_dfc_control_popupmenu end type global type m_xls_dfc_control_popupmenu from menu m_commonpopup m_commonpopup end type end forward global type m_xls_dfc_control_popupmenu from menu m_commonpopup m_commonpopup end type global m_xls_dfc_control_popupmenu m_xls_dfc_control_popupmenu type variables end variables forward prototypes public subroutine mf_buildline () public subroutine mf_setchecked (string psmenuname, boolean pbchecked) public subroutine mf_popmenu () public subroutine mf_buildmenu (any pgoobject, string psmenulist) private subroutine mf_builditem (any pgoobject, string psmenutext, string pstag) end prototypes public subroutine mf_buildline ();//==================================================================== // 过程(Subroutine): m_dfc_control_popupmenu::mf_buildline() //-------------------------------------------------------------------- // 描述(Description): //-------------------------------------------------------------------- // 参数(Arguments): (None) //-------------------------------------------------------------------- // 返回(Returns): (None) //-------------------------------------------------------------------- // 作者: 董伟勇 日期: 2003.05.15 //-------------------------------------------------------------------- // 修改历史: // //-------------------------------------------------------------------- // 1998-2003 上海亿用软件有限公司 | DongSoft Team //==================================================================== integer diPos String dsItemText diPos = upperbound(m_commonpopup.item)+1 // can only append now m_xls_dfc_control_popupmenu_item dm dm=create m_xls_dfc_control_popupmenu_item dsItemText = "OK" dm.item[1].Enabled = True m_commonpopup.item[diPos] = dm.item[1] //must be item[1], or you'll find a funny result m_commonpopup.item[diPos].text = "-" m_commonpopup.item[diPos].tag = "-" end subroutine public subroutine mf_setchecked (string psmenuname, boolean pbchecked);//==================================================================== // 过程(Subroutine): m_dfc_control_popupmenu::mf_setchecked() //-------------------------------------------------------------------- // 描述(Description): 选择或者不选择指定菜单名称 //-------------------------------------------------------------------- // 参数(Arguments): // string psmenuname 菜单名称 // boolean pbchecked 是否选择 //-------------------------------------------------------------------- // 返回(Returns): (None) //-------------------------------------------------------------------- // 作者: 董伟勇 日期: 2003.05.15 //-------------------------------------------------------------------- // 修改历史: // //-------------------------------------------------------------------- // 1998-2003 上海亿用软件有限公司 | DongSoft Team //==================================================================== Integer diPos For diPos = 1 To UpperBound(m_commonpopup.Item) If Trim(Upper(m_commonpopup.item[diPos].Text)) = Trim(Upper(psMenuName)) Then m_commonpopup.item[diPos].Checked = pbChecked End If Next end subroutine public subroutine mf_popmenu ();//==================================================================== // 过程(Subroutine): m_dfc_control_popupmenu::mf_popmenu() //-------------------------------------------------------------------- // 描述(Description): //-------------------------------------------------------------------- // 参数(Arguments): (None) //-------------------------------------------------------------------- // 返回(Returns): (None) //-------------------------------------------------------------------- // 作者: 董伟勇 日期: 2003.05.15 //-------------------------------------------------------------------- // 修改历史: // //-------------------------------------------------------------------- // 1998-2003 上海亿用软件有限公司 | DongSoft Team //==================================================================== m_CommonPopup.PopMenu(ParentWindow.PointerX(), ParentWindow.PointerY()) end subroutine public subroutine mf_buildmenu (any pgoobject, string psmenulist);//==================================================================== // 过程(Subroutine): m_dfc_control_popupmenu::mf_buildmenu() //-------------------------------------------------------------------- // 描述(Description): 建立菜单 //-------------------------------------------------------------------- // 参数(Arguments): // string psmenulist 菜单描述 //-------------------------------------------------------------------- // 返回(Returns): (None) //-------------------------------------------------------------------- // 作者: 董伟勇 日期: 2003.05.15 //-------------------------------------------------------------------- // 修改历史: // //-------------------------------------------------------------------- // 1998-2003 上海亿用软件有限公司 | DongSoft Team //==================================================================== u_xls_dfc_base_func duFunc String dsList[] String dsMenuText String dsEvent String dsNote // 说明 Integer i duFunc.uf_Split(psMenuList, "|", dsList) For i = 1 To UpperBound(dsList) dsMenuText = duFunc.uf_GetKeyValue(dsList[i], "Text") mf_BuildItem(pgoObject, dsMenuText, dsList[i]) Next end subroutine private subroutine mf_builditem (any pgoobject, string psmenutext, string pstag);//==================================================================== // 过程(Subroutine): m_dfc_control_popupmenu::mf_builditem() //-------------------------------------------------------------------- // 描述(Description): 内部函数: 增加菜单条 //-------------------------------------------------------------------- // 参数(Arguments): // string psmenutext 菜单名称 // string pstag Tag //-------------------------------------------------------------------- // 返回(Returns): (None) //-------------------------------------------------------------------- // 作者: 董伟勇 日期: 2003.05.15 //-------------------------------------------------------------------- // 修改历史: // //-------------------------------------------------------------------- // 1998-2003 上海亿用软件有限公司 | DongSoft Team //==================================================================== u_xls_dfc_base_func duFunc Integer diPos diPos = upperbound(m_commonpopup.item)+1 // can only append now m_xls_dfc_control_popupmenu_item dm dm=create m_xls_dfc_control_popupmenu_item dm.igoObject = pgoObject dm.item[1].Enabled = True If Upper(duFunc.uf_GetKeyValue(psTag, "Checked")) = "TRUE" Then dm.item[1].Checked = True End If m_commonpopup.item[diPos] = dm.item[1] m_commonpopup.item[diPos].text = psMenuText m_commonpopup.item[diPos].tag = psTag end subroutine on m_xls_dfc_control_popupmenu.create m_xls_dfc_control_popupmenu=this call super::create this.m_commonpopup=create m_commonpopup this.Item[UpperBound(this.Item)+1]=this.m_commonpopup end on on m_xls_dfc_control_popupmenu.destroy call super::destroy destroy(this.m_commonpopup) end on type m_commonpopup from menu within m_xls_dfc_control_popupmenu end type on m_commonpopup.create call super::create this.text = "CommonPopup" end on on m_commonpopup.destroy call super::destroy end on