m_xls_dfc_control_popupmenu.srm 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. $PBExportHeader$m_xls_dfc_control_popupmenu.srm
  2. $PBExportComments$超级菜单
  3. forward
  4. global type m_xls_dfc_control_popupmenu from menu
  5. end type
  6. type m_commonpopup from menu within m_xls_dfc_control_popupmenu
  7. end type
  8. global type m_xls_dfc_control_popupmenu from menu
  9. m_commonpopup m_commonpopup
  10. end type
  11. end forward
  12. global type m_xls_dfc_control_popupmenu from menu
  13. m_commonpopup m_commonpopup
  14. end type
  15. global m_xls_dfc_control_popupmenu m_xls_dfc_control_popupmenu
  16. type variables
  17. end variables
  18. forward prototypes
  19. public subroutine mf_buildline ()
  20. public subroutine mf_setchecked (string psmenuname, boolean pbchecked)
  21. public subroutine mf_popmenu ()
  22. public subroutine mf_buildmenu (any pgoobject, string psmenulist)
  23. private subroutine mf_builditem (any pgoobject, string psmenutext, string pstag)
  24. end prototypes
  25. public subroutine mf_buildline ();//====================================================================
  26. // 过程(Subroutine): m_dfc_control_popupmenu::mf_buildline()
  27. //--------------------------------------------------------------------
  28. // 描述(Description):
  29. //--------------------------------------------------------------------
  30. // 参数(Arguments): (None)
  31. //--------------------------------------------------------------------
  32. // 返回(Returns): (None)
  33. //--------------------------------------------------------------------
  34. // 作者: 董伟勇 日期: 2003.05.15
  35. //--------------------------------------------------------------------
  36. // 修改历史:
  37. //
  38. //--------------------------------------------------------------------
  39. // 1998-2003 上海亿用软件有限公司 | DongSoft Team
  40. //====================================================================
  41. integer diPos
  42. String dsItemText
  43. diPos = upperbound(m_commonpopup.item)+1 // can only append now
  44. m_xls_dfc_control_popupmenu_item dm
  45. dm=create m_xls_dfc_control_popupmenu_item
  46. dsItemText = "OK"
  47. dm.item[1].Enabled = True
  48. m_commonpopup.item[diPos] = dm.item[1] //must be item[1], or you'll find a funny result
  49. m_commonpopup.item[diPos].text = "-"
  50. m_commonpopup.item[diPos].tag = "-"
  51. end subroutine
  52. public subroutine mf_setchecked (string psmenuname, boolean pbchecked);//====================================================================
  53. // 过程(Subroutine): m_dfc_control_popupmenu::mf_setchecked()
  54. //--------------------------------------------------------------------
  55. // 描述(Description): 选择或者不选择指定菜单名称
  56. //--------------------------------------------------------------------
  57. // 参数(Arguments):
  58. // string psmenuname 菜单名称
  59. // boolean pbchecked 是否选择
  60. //--------------------------------------------------------------------
  61. // 返回(Returns): (None)
  62. //--------------------------------------------------------------------
  63. // 作者: 董伟勇 日期: 2003.05.15
  64. //--------------------------------------------------------------------
  65. // 修改历史:
  66. //
  67. //--------------------------------------------------------------------
  68. // 1998-2003 上海亿用软件有限公司 | DongSoft Team
  69. //====================================================================
  70. Integer diPos
  71. For diPos = 1 To UpperBound(m_commonpopup.Item)
  72. If Trim(Upper(m_commonpopup.item[diPos].Text)) = Trim(Upper(psMenuName)) Then
  73. m_commonpopup.item[diPos].Checked = pbChecked
  74. End If
  75. Next
  76. end subroutine
  77. public subroutine mf_popmenu ();//====================================================================
  78. // 过程(Subroutine): m_dfc_control_popupmenu::mf_popmenu()
  79. //--------------------------------------------------------------------
  80. // 描述(Description):
  81. //--------------------------------------------------------------------
  82. // 参数(Arguments): (None)
  83. //--------------------------------------------------------------------
  84. // 返回(Returns): (None)
  85. //--------------------------------------------------------------------
  86. // 作者: 董伟勇 日期: 2003.05.15
  87. //--------------------------------------------------------------------
  88. // 修改历史:
  89. //
  90. //--------------------------------------------------------------------
  91. // 1998-2003 上海亿用软件有限公司 | DongSoft Team
  92. //====================================================================
  93. m_CommonPopup.PopMenu(ParentWindow.PointerX(), ParentWindow.PointerY())
  94. end subroutine
  95. public subroutine mf_buildmenu (any pgoobject, string psmenulist);//====================================================================
  96. // 过程(Subroutine): m_dfc_control_popupmenu::mf_buildmenu()
  97. //--------------------------------------------------------------------
  98. // 描述(Description): 建立菜单
  99. //--------------------------------------------------------------------
  100. // 参数(Arguments):
  101. // string psmenulist 菜单描述
  102. //--------------------------------------------------------------------
  103. // 返回(Returns): (None)
  104. //--------------------------------------------------------------------
  105. // 作者: 董伟勇 日期: 2003.05.15
  106. //--------------------------------------------------------------------
  107. // 修改历史:
  108. //
  109. //--------------------------------------------------------------------
  110. // 1998-2003 上海亿用软件有限公司 | DongSoft Team
  111. //====================================================================
  112. u_xls_dfc_base_func duFunc
  113. String dsList[]
  114. String dsMenuText
  115. String dsEvent
  116. String dsNote // 说明
  117. Integer i
  118. duFunc.uf_Split(psMenuList, "|", dsList)
  119. For i = 1 To UpperBound(dsList)
  120. dsMenuText = duFunc.uf_GetKeyValue(dsList[i], "Text")
  121. mf_BuildItem(pgoObject, dsMenuText, dsList[i])
  122. Next
  123. end subroutine
  124. private subroutine mf_builditem (any pgoobject, string psmenutext, string pstag);//====================================================================
  125. // 过程(Subroutine): m_dfc_control_popupmenu::mf_builditem()
  126. //--------------------------------------------------------------------
  127. // 描述(Description): 内部函数: 增加菜单条
  128. //--------------------------------------------------------------------
  129. // 参数(Arguments):
  130. // string psmenutext 菜单名称
  131. // string pstag Tag
  132. //--------------------------------------------------------------------
  133. // 返回(Returns): (None)
  134. //--------------------------------------------------------------------
  135. // 作者: 董伟勇 日期: 2003.05.15
  136. //--------------------------------------------------------------------
  137. // 修改历史:
  138. //
  139. //--------------------------------------------------------------------
  140. // 1998-2003 上海亿用软件有限公司 | DongSoft Team
  141. //====================================================================
  142. u_xls_dfc_base_func duFunc
  143. Integer diPos
  144. diPos = upperbound(m_commonpopup.item)+1 // can only append now
  145. m_xls_dfc_control_popupmenu_item dm
  146. dm=create m_xls_dfc_control_popupmenu_item
  147. dm.igoObject = pgoObject
  148. dm.item[1].Enabled = True
  149. If Upper(duFunc.uf_GetKeyValue(psTag, "Checked")) = "TRUE" Then
  150. dm.item[1].Checked = True
  151. End If
  152. m_commonpopup.item[diPos] = dm.item[1]
  153. m_commonpopup.item[diPos].text = psMenuText
  154. m_commonpopup.item[diPos].tag = psTag
  155. end subroutine
  156. on m_xls_dfc_control_popupmenu.create
  157. m_xls_dfc_control_popupmenu=this
  158. call super::create
  159. this.m_commonpopup=create m_commonpopup
  160. this.Item[UpperBound(this.Item)+1]=this.m_commonpopup
  161. end on
  162. on m_xls_dfc_control_popupmenu.destroy
  163. call super::destroy
  164. destroy(this.m_commonpopup)
  165. end on
  166. type m_commonpopup from menu within m_xls_dfc_control_popupmenu
  167. end type
  168. on m_commonpopup.create
  169. call super::create
  170. this.text = "CommonPopup"
  171. end on
  172. on m_commonpopup.destroy
  173. call super::destroy
  174. end on