Страница 1 из 1
EVENT для динамически создаваемых контролов
Добавлено: 02 Октябрь 2005, 17:08
m0uSE
Здравствуйте.
создаю кнопку:
ctrl=create(0,CREATE:BUTTON)
...
ctrl{prop:hide} = false
и таких кнопок около 80 штук
как отлавливать нажатие на каждую из них в отдельности и выполнить соответствуеше номеру кнопки действие...
Добавлено: 03 Октябрь 2005, 0:06
Admin
CASE ACCEPTED()
OF ctrl
! do action
OF ctrl+1
! do action
OF ctrl+2
! do action
OF ctrl+3 OROF ctrl+4
! do action
ELSE
IF ACCEPTED() = ctrl+5
! do action
END
IF ACCEPTED() = ctrl+5
! do action
END
END
Добавлено: 03 Октябрь 2005, 0:07
Admin
ctrl = номер первого созданного контрола
Добавлено: 03 Октябрь 2005, 1:46
StillZero
так IMHO попроще будет
Код: Выделить всё
CtrlFEQ LONG,DIM(80)
code
...
CtrlFEQ[1]=CREATE(0,CREATE:Button)
ACCEPT
CASE EVENT()
OF EVENT:ACCEPTED
LOOP counter=1 to 80
IF FIELD()=CtrlFEQ[counter]
message('нажали кнопку с номером '&counter)
END
END
END
END
PS
опять "Сапера" делаешь?
Добавлено: 03 Октябрь 2005, 3:44
m0uSE
CASE ACCEPTED()
OF ctrl
! do action
OF ctrl+1
! do action
OF ctrl+2
! do action
OF ctrl+3 OROF ctrl+4
! do action
ELSE
IF ACCEPTED() = ctrl+5
! do action
END
IF ACCEPTED() = ctrl+5
! do action
END
END
так зделал но чуть башня не съехала пока на все 80 прописал
Код: Выделить всё
CtrlFEQ LONG,DIM(80)
code
...
CtrlFEQ[1]=CREATE(0,CREATE:Button)
ACCEPT
CASE EVENT()
OF EVENT:ACCEPTED
LOOP counter=1 to 80
IF FIELD()=CtrlFEQ[counter]
message('нажали кнопку с номером '&counter)
END
END
END
END
подобное не проходило хотя по другому делал... может наворотил
PS
опять "Сапера" делаешь?
нет... это учет по запуску игр в клубе... запускает и записывает в базу + 1

но так как неизвестно у кого скоко игр то приходится создавать кнопки динамически

всем спосибо за ответы вобшем проблема решена...
Добавлено: 03 Октябрь 2005, 12:44
Admin
Судя по всему ты что то криво сделал... или продумал.
По идее в твоем варианте Var +=1
можно код очень компактным сделать...
Типа заюзать смещение контрола и смещение переменной в файле, или еще как ...