![]() |
Вызывать функции с параметрами
Подскажите функцию, которая может вызывать другие функции с параметрами.
Я так понял, что GUICtrlSetOnEvent не может вызывать функции с параметрами, правильно? Вот пример. Код:
Opt("GUIOnEventMode", 1) |
Цитата:
Function GUICtrlSetOnEvent: Цитата:
|
Цитата:
Скрытый текст
Код:
#include <ButtonConstants.au3> Выбор конкретной реализации зависит от конкретной задачи, которую Вы не озвучили. |
Iska, спасибо.
Попробую сформулировать задачу более конкретно. У меня есть цикл For To Next. StopValue - у меня будет двумерным массивом (Вернее, количеством элементов этого массива.). Внутри этого цикла есть идентификатор кнопки. С каждым новым циклом он меняется. Будет вызываться одна и та же функция, но в зависимости от этого идентификатора, параметры будут меняться. Соответственно, я не могу точно получить событие через Switch GUIGetMsg() EndSwitch. В этом вся трудность. Если бы, хотя-бы GUICtrlSetOnEvent($p, "_a1('Bavaria')") работала, то вся проблема бы ушла. Если использовать GUICtrlRead($p) вне цикла, то я буду всегда получать последний элемент, а мне нужен конкретный, в зависимости от номера цикла. Получается замкнутый круг. Вызов вне цикла - результат последний цикл. Вызов внутри цикла - есть все динамические переменные, но невозможно вызвать функцию с конкретными параметрами. Код:
Opt("GUIOnEventMode", 1) |
Атос, я просил озвучить задачу, а не повторно изложить выбранное Вами решение.
Вы хотите нарисовать кучу кнопок, обработка нажатия каждой из которых будет привязана к одной и той же функции, так? При этом внутри этой функции обработки события Вы хотите как-то распознавать от какой кнопки пришло нажатие и, в зависимости от этого, выполнять то или иное действие — я правильно понимаю? |
Iska, да, задача была именно такая. Мне уже показали решение.
Поэтому, задача снимается. Спасибо. |
Берёте указанную в описании самой функции GUISetOnEvent() встроенную переменную @GUI_CtrlId и пользуете. А там хоть через привязку к кнопкам, хоть через массив, хоть через Switch:
Скрытый текст
Код:
#include <MsgBoxConstants.au3> |
Время: 22:46. |
Время: 22:46.
© OSzone.net 2001-