如何用程序控制PB菜单中的toolbar

如何用程序控制PB菜单中的toolbar,第1张

PB动态建立菜单的步骤如下:1.创建模版菜单(m_template)2.a)、在模版菜单里创建动态添加菜单项的函数:/*====================================Funtionname:Of_addmemuDescription:将模版菜单项添加给指定的菜单Argument:menuam_menu(添加菜单)stringas_text(创建菜单项的text)stringas_tag(创建菜单项亏伏哗的tag)ReturnValue:succeed1=====================================*/lm_itemm_templateintegerli_itemcountlm_item=createm_templatelm_item.text=as_textlm_item.tag=as_tagli_itemcount=upperbound(am_menu.item[])li_itemcount=li_itemcount+1am_menu.item[li_itemcount]=lm_itemreturn1b、在模版菜单中创建d出菜单的函数/*====================================Funtionname:Of_popmemuDescription:d出指定的厅核菜单Argument:menuam_menu(d销行出菜单)integerai_x(d出菜单的x坐标)integerai_y(d出菜单的y坐标)ReturnValue:NONE=====================================*/am_memu.popmenu(ai_x,ai_y)为了能够一次创建多个菜单项定义函数f_dynamic_menuitem()/*======================================Funtionname:f_dynamic_menuitemArugment:stringas_menuitem[](添加菜单项的名称)integerai_x(d出菜单的x坐标)integerai_y(d出菜单的y坐标)===================================*/integerli_itemcount,im_templatelm_dynamic_menuli_itemcount=upperbound(as_menu[])fori=1toli_itemcountlm_dynamic_menu.of_additem(lm_dynamic_menu,as_menu[i],string(i))nextlm_dynamic_menu.of_popmenu(ai_x,ai_y)destory(lm_dynamic_menu)

通过CreateMutexA函数喊皮创建一个互斥体,然后用GetLastError来获取返塌渗塌回值判断是否重复开启同一个应用。

实现过程:

外部函数声明

Function ulong   CreateMutexA (ulong lpMutexAttributes, int bInitialOwner, ref string lpName) library 'kernel32.dll' 

Function ulong   GetLastError () library 团圆'kernel32.dll'

APP的open事件代码

string ls_mutex_name

long   ll_mutex

long ll_err

if handle (GetApplication(),false) <> 0 then 

ls_mutex_name = this.AppName

ll_mutex      = CreateMutexA (0,0,ls_mutex_name) 

ll_err        = GetLastError () 

if ll_err = 183 then 

messagebox("","程序重复开启")

Halt close 

end if

end if 

open(w_open)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8242278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存