动态菜单带分格条以及响应事件

易语言 2020-07-27 17:42:13

动态菜单带分格条以及响应事件

.如果真 (取反 (记录集1.打开 (局部_SQL语句, #SQL语句)))
信息框 (“数据库查询失败”, 0, )
返回 ()
.如果真结束
.计次循环首 (记录集1.记录数量, )
记录集1.读整数 (“M_ID”, 局_ID)
记录集1.读文本 (“M_Name”, 局_名称)
记录集1.读整数 (“M_Mgr”, 局_上级)
.如果真 (到整数 (局_上级) = 0) ' 这里进行判断是否为首菜单
' 以下加入一级菜单
局部_二级菜单句柄 = API_创建空白弹出式菜单 ()
' API_添加菜单项目 (API_取菜单句柄 (_启动窗口.取窗口句柄 ()), 2048 + 16, 局部_二级菜单句柄, 局_名称)
API_添加菜单项目 (API_取菜单句柄 (_启动窗口.取窗口句柄 ()), 16, 局部_二级菜单句柄, 局_名称)
' 以下添加二级和三级菜单
局部_SQL语句 = “select * from Menu where M_Mgr=” + 到文本 (局_ID) + “ order by M_ID”
记录集2.打开 (局部_SQL语句, #SQL语句)
.计次循环首 (记录集2.记录数量, i)
记录集2.读整数 (“M_ID”, 局_ID1)
记录集2.读文本 (“M_Name”, 局_名称1)
记录集2.读整数 (“M_Mgr”, 局_上级1)
记录集2.读文本 (“FES”, 局部_分格线)
.如果真 (局部_分格线 = “YES”)
API_添加菜单项目 (局部_二级菜单句柄, 2048, 0, “”) ' MF_SEPARATOR=2048
.如果真结束
' 判断是否具有三级菜单并添加
局部_SQL语句 = “select * from Menu where M_Mgr=” + 到文本 (局_ID1) + “ order by M_ID”
.如果真 (记录集3.打开 (局部_SQL语句, #SQL语句))
.计次循环首 (记录集3.记录数量, )
记录集3.读整数 (“M_ID”, 局_ID2)
记录集3.读文本 (“M_Name”, 局_名称2)
局部_三级菜单句柄 = API_创建空白弹出式菜单 ()
API_添加菜单项目 (局部_二级菜单句柄, 16, 局部_三级菜单句柄, 局_名称1)
API_添加菜单项目 (局部_三级菜单句柄, 0, 局_ID2, 局_名称2)
' API_添加菜单项目 (局部_二级菜单句柄, 2048, 0, “”) ' MF_SEPARATOR=2048
记录集3.到下一条 ()
.计次循环尾 ()
.如果真结束
API_添加菜单项目 (局部_二级菜单句柄, 0, 局_ID1, 局_名称1)
记录集2.到下一条 ()
.计次循环尾 ()
.如果真结束
记录集1.到下一条 ()
.计次循环尾 ()
记录集3.关闭 ()
记录集2.关闭 ()
记录集3.关闭 ()
' DrawMenuBar (局部_二级菜单句柄)
SetWindowLong (取窗口句柄 (), -4, 到数值 (&子程序_执行菜单))