TC官方合作论坛

 找回密码
 立即注册
查看: 737|回复: 1

[问题] 求助TC菜单

[复制链接]
发表于 2023-8-8 08:37:00 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 耐心秀 于 2023-8-8 09:02 编辑

create_menu("主选项1|主选项2|...","主选项1_子1|主选项1_子2...,主选项2_子1|主选项2_子2...,...")  
想实现一个这样的菜单功能  原理就是这样"|"同类分割  ","集合分割  是拿论坛那个例子改的  选择实现和消息部分沿用的例子  各位老哥帮我看看吧   运行时调试输出有值    没有窗口 (动态库调用不咋会)
  1. 变量 m_hwnd   //var == 变量  
  2. 功能 TestProgram_init()
  3.     create_menu("文件|设置|人物资讯", "打开|保存|另存为,设置窗口大小|设置字体|设置颜色|设置标题,打开网页")
  4. 结束
  5. 功能 create_menu(title, title2)
  6.     //取得自身句柄
  7.     m_hwnd = 窗口获取自我句柄() //windowgetmyhwnd == 窗口获取自我句柄
  8.     变量 title_array                           //主选项数组
  9.     变量 title_array_p=数组()            //主选项句柄数组
  10.     变量 title_array2                         //子菜单集合体数组,每个集合内以"|"分割开
  11.     变量 title_array3                         //具体子菜单临时数组
  12.     //创建主选单条(Msg:CreateMenu)
  13.     变量 hMenu = 动态库调用("user32.dll", "long", "CreateMenu")    //dllcall == 动态库调用
  14.     //将参数以"|"分割,创建主选项
  15.     变量 count = 字符串分割(title, "|", title_array)
  16.     遍历(变量 i = 0; i <数组大小(title_array); i++)
  17.         title_array_p[i]=动态库调用("user32.dll", "long", "CreatePopupMenu")   //各主选项句柄
  18.     结束
  19.     //","分割出属于每个主选项的子菜单集合
  20.     变量 count2 = 字符串分割(title2, ",", title_array2)
  21.     变量 MF_POPUP = #00000010
  22.     //"|"分割出子菜单选项
  23.     变量 csl=1000   //子菜单初始编码,各组子菜单集倍数递增区分,子递增1区分
  24.     遍历(变量 i = 0; i < 数组大小(title_array2); i++)
  25.         字符串分割(title_array2[i], "|", title_array3)
  26.         遍历(变量 j = 0; j < 数组大小(title_array3); j++)
  27.             动态库调用("user32.dll", "long", "AppendMenuW", "long", title_array_p[i], "long", MF_POPUP, "long", csl*(i+1), "wchar *", title_array3[j+1])
  28.         结束
  29.         动态库调用("user32.dll", "long", "AppendMenuW", "long", hMenu, "long", MF_POPUP, "long", title_array_p[i], "wchar *", title_array3[0])
  30.         数组清空(title_array3)
  31.     结束
  32. //    重新绘制窗口,并将创建好的菜单一并放进窗口(Msg:SetMenu)
  33.     动态库调用("user32.dll", "long", "SetMenu", "long", m_hwnd, "long", hMenu)
  34. 结束
复制代码
回复

使用道具 举报

 楼主| 发表于 2023-8-8 08:44:15 | 显示全部楼层
水平菜单     create_menu("主选项1|主选项2|...","主选项1_子1|主选项1_子2...,主选项2_子1|主选项2_子2...,...")  
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-28 08:58 , Processed in 0.034597 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表