Нагрузка на ЦП это нормально и комп сломаться не должен, если вы об этом.Это значит что, что я могу абсолютно безбоязненно гонять эту прогру часами?
Я не просто так дал ссылку на функцию GUICtrlCreateMenu. Там находится пример установки / снятия галочки.Я это все знаю, но там получается галочки на пункты контекстного ставить не получается.
Код:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
Example1()
; Пример 1GUICtrlCreateMenu
Func Example1()
Local $contextmenu, $button, $buttoncontext, $buttonitem, $msg
Local $newsubmenu, $textitem, $fileitem, $saveitem, $infoitem
; правый клик на gui выводит контекстное меню.
; правый клик на кнопке "ok" выводит контекстное меню кнопки.
GUICreate("Моё контекстное меню в GUI", 300, 200)
$contextmenu = GUICtrlCreateContextMenu()
$button = GUICtrlCreateButton("OK", 100, 100, 70, 20)
$buttoncontext = GUICtrlCreateContextMenu($button)
$buttonitem = GUICtrlCreateMenuItem("О кнопке", $buttoncontext)
$newsubmenu = GUICtrlCreateMenu("Новое", $contextmenu)
$textitem = GUICtrlCreateMenuItem("Текст", $newsubmenu)
$fileitem = GUICtrlCreateMenuItem("Открыть", $contextmenu)
$saveitem = GUICtrlCreateMenuItem("Сохранить", $contextmenu)
GUICtrlCreateMenuItem("", $contextmenu) ; разделитель
$infoitem = GUICtrlCreateMenuItem("Информация", $contextmenu)
GUISetState()
; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
$msg = GUIGetMsg()
if $msg = $infoitem Then
If BitAND(GUICtrlRead($infoitem), $GUI_CHECKED) = $GUI_CHECKED Then ; Если галочка в наличии, тогда
GUICtrlSetState($infoitem, $GUI_UNCHECKED) ; Убирает галочку
Else ; Иначе
GUICtrlSetState($infoitem, $GUI_CHECKED) ; Ставит галочку
EndIf
endif
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
GUIDelete()
EndFunc