Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Присвоение идентификаторов пунктам контекстного меню. (http://forum.oszone.net/showthread.php?t=328101)

Атос 05-07-2017 08:26 2749173

Присвоение идентификаторов пунктам контекстного меню.
 
Привет.

У меня есть GUI, и в нём создаётся динамическое контекстное меню.
Проблема в том, что не получается присвоить к пунктам меню идентификаторы.
Как можно присвоить идентификаторы?
Что здесь можно придумать?


Код:

Local $hGUI = GUICreate('111', 350, 400)
Local $m000 = GUICtrlCreateContextMenu()
Local $m001 = GUICtrlCreateMenu("111", $m000)
Local $m002 = GUICtrlCreateMenu("222", $m001)
Local $m003 = GUICtrlCreateMenu("333", $m002)
Local $m004 = GUICtrlCreateMenu("444", $m003)
Local $t1, $t2, $t3, $t4, $kk, $m , $mm
For $i = 1 To 10
$m = GUICtrlCreateMenuItem('A' & $i, $m001, 3)
; Local Assign("m & $i = GUICtrlCreateMenuItem('a' & $i, $m001)
Assign($m, 'mm' & $i, 2)
; Local $zv = $m & $i
; $t1 = $t1 & 'm' & $i
Next
For $i = 11 To 20
Local $m = GUICtrlCreateMenuItem('B' & $i, $m002, 12)
$t2 = $t2 & 'm' & $i
Next
For $i = 21 To 30
Local $m = GUICtrlCreateMenuItem('C' & $i, $m003)
$t3 = $t3 & 'm' & $i
Next
For $i = 31 To 40
Local $m = GUICtrlCreateMenuItem('D' & $i, $m004)
$t4 = $t4 & 'm' & $i
Next
GUISetState()
While 1
Local $hMsg = GUIGetMsg(1)
Select
Case $hMsg[0] = -3
Exit
Case $hMsg[0] = $m
MsgBox(0, '', $m)
EndSelect
WEnd


Iska 05-07-2017 09:35 2749185

Цитата:

Цитата Атос
Как можно присвоить идентификаторы? »

Используйте массивы вместо Assign().

P.S. Ещё раз настоятельно советую подумать над переходом к иной модели диалога — по привязанным событиям.


Время: 01:06.

Время: 01:06.
© OSzone.net 2001-