PDA

Показать полную графическую версию : [решено] Установка галочки на пункте


Атос
05-07-2017, 13:02
Как мне установить галочку на пункте?
Переменную прекрасно понимает, но упорно не хочет ставить галку.

Local $hGUI = GUICreate('111', 350, 400)
Local $m000 = GUICtrlCreateContextMenu()
Local $m1 = GUICtrlCreateMenuItem('1', $m000)
Local $m2 = GUICtrlCreateMenuItem('2', $m000)
Local $m3 = GUICtrlCreateMenuItem('3', $m000)
Local $m4 = GUICtrlCreateMenuItem('4', $m000)
Local $m5 = GUICtrlCreateMenuItem('5', $m000)
Local $m6 = GUICtrlCreateMenuItem('6', $m000)
Local $m7 = GUICtrlCreateMenuItem('7', $m000)
$ddd = 6
For $i = 1 To 10
If $i = $ddd Then
$zv = '$m' & $i
; $zv = Eval('$m' & $iz)
;
; Assign($mz, "data", 2)
;
MsgBox(0, $i & ' ' & $zv, $i)
;
; Execute(GUICtrlSetState($zv, 1))
; GUICtrlSetState($m5, 1)
GUICtrlSetState($zv, 1)
; MsgBox(0, Eval('zv'), '')
EndIf
Next
; GUICtrlSetState($m5, 1)

GUISetState()
While 1
Local $hMsg = GUIGetMsg(1)
Select
Case $hMsg[0] = -3
Exit
EndSelect
WEnd

Атос
05-07-2017, 13:28
Вопрос снят.

Iska
05-07-2017, 13:35
Атос, Вы не могли бы пользовать клавишу Tab для фолдинга? Невозможно код читать.

И не делайте так:
While 1
Local $hMsg = GUIGetMsg(1)

WEnd

Делайте так:
Local $hMsg


While 1
$hMsg = GUIGetMsg(1)

WEnd


Переменную прекрасно понимает, но упорно не хочет ставить галку. »
Я Вам уже два раза за последние дни говорил — используйте массивы, а не $m1, $m2, $m3 и до бесконечности. Но Вы упорно продолжаете мучаться.

Атос
07-07-2017, 09:11
Iska, а с помощью какой функции Вы бы посоветовали создавать массив из кнопок?

Local $ar1[] = []
_ArrayAdd($ar1)
Такую?

И как я потом мог бы вызывать функции, получая сообщения без идентификаторов, через такую конструкцию?

Switch GUIGetMsg()

Case $ar1[]
MsgBox(0, '11', $ar1[])

EndSwitch





#include "Array.au3"
$hgui = GUICreate("", 200, 300, -1, -1)
Local $b1 = GUICtrlCreateButton('111', 10, 10, 50, 22, 0x0)
Local $b2 = GUICtrlCreateButton('222', 10, 50, 50, 22, 0x0)
Local $b3 = GUICtrlCreateButton('333', 10, 90, 50, 22, 0x0)
Local $ar1[] = []
_ArrayAdd($ar1, $b1 & ' ' & $b2 & ' ' & $b3 )
GUISetState()
_ArrayDisplay($ar1)
While 1
Switch GUIGetMsg()
Case -3
Exit
; Case $ar1[]
; MsgBox(0, '11', $ar1[])
EndSwitch
Wend




© OSzone.net 2001-2012