Function Insert_Menu OverLoad(ByVal number As Integer,ByVal menu As HMENU,Byref sName As string, ByVal NumberSpace As Integer,ByVal flag As Integer=0) As Integer
Function Insert_Menu OverLoad(ByVal number As Integer,ByVal menu As HMENU,ByVal iName As integer, ByVal NumberSpace As Integer,ByVal flag As Integer=MF_BITMAP) As Integer
Позволяет вставлять пункты меню, в любое место имеющегося меню. При том все пункты, имеющие большие номера, будут сдвинуты вниз
number - номер нового меню. Рекомендуется использование номеров от 2 до 65535. Использование 0 запрещено. Использование 1 может вызвать наложение некоторых событий
menu - меню, созданное функцией MenuTitle
sName или iName - может быть как строкой, так и указателем на рисунок. В Linux может быть только строкой.
NumberSpace - номер меню, на место которого будет вставлен пункт
flag - только для Windows. В Linux всегда поведение такое же как с флагом MF_BYCOMMAND. Данный флаг может быть:
MF_BYCOMMAND - указывает, что uPosition дает идентификатор пункта меню. Если не установлен ни флажок mf_bycommand, ни флажок mf_byposition, то флажок mf_bycommand является заданным по умолчанию.
MF_BYPOSITION - указывает, что uPosition дает отсчитываемую от нуля относительную позицию пункта меню. Если параметр uPosition равен - (минус)1, новый пункт меню добавлен в конец меню.
Windows , Linux
#Include "window9.bi"
Dim As HMENU menu,MenName,MenName1
OpenWindow("",10,10,400,400)
menu=Create_Menu()
MenName=MenuTitle(menu,"Файл")
MenName1=MenuTitle(menu,"Помощь")
MenuItem(1001,MenName,"1 меню")
MenuItem(1002,MenName,"2 меню")
insert_menu(1005,MenName,"Вставленное меню",1002)
Do
Var event=WaitEvent
If event=EventMenu then
Select case EventNumber
Case 1001
MessBox("","1 меню")
Case 1002
MessBox("","2 меню")
End Select
EndIf
If event=EventClose Then End
Loop
Created with the Personal Edition of HelpNDoc: Free help authoring environment