Вверх ↑
Этот топик читают: Гость
Ответов: 10
Рейтинг: 0
#1: 2019-08-24 20:08:16 ЛС | профиль | цитата
Я строю программу, ее суть - выводить на экран 157 картинок и случайное слово из списка, которое одну из этих картинок описывает и пользователю нужно будет как можно быстрее нажать на нужную картинку. Использую элементы ImgBtn соединенные в несколько хабов. У меня 2 проблемных задачи, решение которых я пока не могу найти:
1. Я планировал сделать так, что у меня будет генерироваться случайное число, и исходя из него у меня будет появляться картинка (да сначала я хотел чтобы отдельно была картинка, а не слово, и нужно было бы найти такую же картинку), но сейчас сошелся на том, что написал все 157 слов, которые описывают картинки в StrList и случайным образом их вытягиваю через Random и еще легенькие махинации. Так вот, ближе к сути главной проблемы: мне хотелось бы сделать так, чтобы активной была (реагировала на нажатия) только та картинка, или слово описывающее которую в данный момент написано на экране. Т. е. другие бы не реагировали на нажатия. Чтоб было понятнее приведу пример. Представим, что у меня есть 3 кнопки ImgBtn и случайным образом я из StrList получаю одну из строк. Допустим на картинках изображены солнце, камень, и карандаш. В StrListe у меня есть троки "солнце", "камень", "карандаш". Я получаю случайным образом слово "камень" и мне нужно сделать так, чтобы в этот момент, когда у меня написано именно это слово остальные иконки ("солнце" и "карандаш") нельзя было нажать (точнее они бы не реагировали на нажатие). Возможно есть другой путь не через ImgBtn, его тоже буду рад услышать.
2. Вторая проблема менее замороченная: нужно чтобы кнопка-изображение реагировала на нажатие ПКМ, а не ЛКМ.
Спасибо за ваше время!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2019-08-24 22:24:25 ЛС | профиль | цитата
K0ndar писал(а):
2. Вторая проблема менее замороченная: нужно чтобы кнопка-изображение реагировала на нажатие ПКМ, а не ЛКМ.

А Панель управления -> Мышь -> Кнопки мыши -> Обменять назначение кнопок - не проходит ?

Редактировалось 1 раз(а), последний 2019-08-25 15:57:10
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1926
Рейтинг: 172
#3: 2019-08-25 20:14:00 ЛС | профиль | цитата
Чего-то я добрый сегодня
Ловите готовую схему:
Add(MainForm,2784295,350,217)
{
Caption="Пример"
Position=1
link(onCreate,8587963:doEnum,[])
}
Add(ChildPanelEx,13513837,504,231)
{
Mode=1
link(onChange,6007101:doCompare,[])
}
BEGIN_SDK
Add(EditMultiEx,9271718,21,21)
{
WorkCount=#5:##add|
EventCount=#8:onChange|
VarCount=#12:##eventIndex|
Point(##add)
Point(##eventIndex)
link(##add,5435163:doNormal,[(67,27)(67,76)])
}
Add(Panel,5208401,126,133)
{
Left=40
Top=35
Width=40
Height=40
Layout="parent.grid"
}
Add(ImgBtn,5435163,112,70)
{
Left=5
Top=5
Width=30
Height=30
Point(doNormal)
Point(onMouseDown)
link(onMouseDown,10953532:doEvent,[])
}
Add(IndexToChanel,10953532,161,77)
{
link(onEvent2,9271718:onChange,[(257,90)(257,27)])
}
END_SDK
Add(GridLayout,4496329,504,287)
{
Name="grid"
Space=2
Padding=3
Cols=3
}
Add(BitmapArray,6493076,420,182)
{
Bitmaps=['Bitmap'=[ZIP460E000078DAC5578B53546514FF31C3CA5A0A3EA81C9247CE160643E263EC81ED94950F400CD0B2C40A88289059161741415E2E09AE828C228CB8CAECC6431D0A65DA311632052AD6B0019D61D2468AFA3FE89E73F7DE60B99BDE0DC73B7366EE9EF39DDFEF7EE77CDF3967376EDB14087ED60BB2529030B7F82182F58BDCF6E9CFD4D4942C95A7CBD1D19F83EBE3BB71EBEF1D7322844598843D9D4B92E6AE7DB8F9E77B73C6E729844D1C9E9CFFDA53D1DCB9018683D1484D0B47CA87613E09F91A4BA3198B30257C89BBA2B102AE3FC47DDE18DF8E2F4C2B7DE6F226B9FB5F646CE2202EE2FCAA77AFBC4FB24B6BB38B97E050B33FCC36F824A54D1AC698CE3D3229EE9B38AFDDD9C3EF67BBF4F29A829A277DE6F314C292708983B888F397C99DFC4EF9245B56E1D207EFE5B406C62F1720BF5A94A27A2D0EB7FA795DFFA9692963130771499C241F643CC7B692468DA26FD5793FE49605E1FDF467BD9CA35064EE0B46C9A979B37C0993D61087E73927FD8E3DA18A9C94E7BD079E47635B1C2E0F6E16E294207C730AFAEFBC839EE1D785331A83CF4CE2F7A4EE0E83C9F2C42C0CC226BB12EFAE8C9059EB6BDAB4B8E0DC38ED9E25E3DAF85BB28CFC259E959B93C9B03B639099FF0CC7C61387B01F96B7A65D83BEB12D6CFFFE7602AC574371F0A4161905C148FB7C99705E170B79D5A0CE1625C42091E360AA0D528C991ADEEEE1D56CBB32B405152DF371F85C008C87A250581983B4ECE5D8F9D17221FE3A149B5721EF4024728B748C936E786AD69E1F96B7B6631EC7F0E7FBC9C82E0C43DDA50518BC9B28AF1FBCB71517075E9A81D13BA687A162997CFF7DE13DF79DB8A6E5929EE3DAED5A23C67B6C1BAA4EC4C2795B2FFB9EB2C70977F3357E1FB8BB191FE78867A8EC8CBF6ADE0B0351ACAFAC5B834FF29E96799ADA37F0DA2AAB56A87962ED3337AC635DE7F518773D5A2FDE57F342D5BC5D3F8A312CAD89E53BFBEDAD57444CC71B727D71B875B69E375957747C2186279284DC6CE7BE9053BA48356FFB0F91AC6FB0AF156B5C8F586B8627DE15EE7F04EB1A6CEBDC752F49CEE9D5D138D665195EE03AA396B7F14A30EB9DA36FB38D7236F47B3CEB1C237A94587470B8B6CAFE05E610E45506C2F1EBABFC9BFA40E1F1F9AA79ABED7E324F79BDD81B8DE53AE14CC7CB3E945F3A47F47EBE379CFD067E4BE0BE9369089F51B3D5DCDF566704DB7EBA9F88FC727106D8951E8A5AAB0E56870E964E2DCBC96F16A3EA6C202C563117DD3736A1F84480CF7583E4B26BAD3BAF49A8B747CA755612E9779965355C1329BC578B3D4455BDF2D6172E0E46CB7578E85E3CDAFB5EC631EB2A1C3D138BA68E38F48F26B08DD6B43A57286278EB0B0FEA830D5F07F199A13EA434B7D1FDA6782BF92AF541B57DFF489B3FE3DBFA56B0B4384270B423E03F7D94FAFEA39E738C4794E71C6F735DD6FE253C9BFD9FB98E3024BCA263D533E63ACF3996EC733DC712A6E71CEB6D6EA799FB51CEED8FF37FCAE3F85FF60F17A90942],'Bitmap'=[ZIP460E000078DA73F275E36300033320D600623928666450008B0B40E591C1FFFFFFE1B8715A3DC3F2BD590C07AF47339C7B1242150C320B6426C86C64BB6078C6DA6286D30FC3A8661F3A06990DB203DD4E847C30C38C15360CF955DA0CC131F20C415172646190DEC21A6DB059203361E6C3EC6E98DAC070EA01C49F87AEFB33649668906D172E9C53AE09361B6407C82E909D4B76E5C0FD995DA609579B5E21C4503B8385A16511035918A4176406B2DD671F41FC0DB273FF9558307BCE5A3BB89AA20E6EB2ED43C720B360E682EC00D905B2F3CCA350301B149F20B9D45261AAD909C32925C260B3417680EC82D909C291498A60B9EAA9AC54B7176426C86C901DE8E91C241E122B8B551FA979069B1920B3417660B33722498A66F682CC26D75E42F965B8DA8B4DEFA8BD43C7DE291B84184EDEF7C3693EA17405C32033406691E2DFFE35BC0C47EF78916D2F482FC80C72C2B9771517C3E15BEE60F97D977C1992725471DA099203A901A905E901E9A5247EBB96B333ECBBE604AF9F338A30EB679018AC7E05A9ED5CCE469574D5BE948561F765481D76E25E204369A32EDC4E101B24069203A901A925355DE1AA1740B86D0913C396B366F03642639F1118C3DA302039901A5CFA71D50BC4D683AB8FEA60E80589915A0FA2D7FBA03A9A507DBA68AF32C3D9C7C1600C629353EF93DBCE99B955028C09A92B6CE3C1DACEC1D5AE4B2D136228EF6925BB8D01D20B320357BB0EBD1D8B6C372DDBB1B8DAEDA036372DDBED03D94F19887E1900153B07C5],'Bitmap'=[ZIP460E000078DA73F275E36300033320D600623928666450008B0B40E591C1FFFFFFE1F8FD8BA70C9BA6343374443B3214DBCA530583CC029909321BD92E183EB56D3543858B3AD5EC43C720B34176A0DB09932F735466D8D09CCC706FFB7486BFB77731FCBFBB872C0CD27B67EB54B059203361E6C3ECFEF0EA3943959B1658ACC1478FE1E9FE7964DB850B3FDC3D1B6C36C80E905D203BB7CFEE86FBF3F1DEB970B52FB64D6238DF9DCA70BC2E9C2C0CD20B3203D9EE527B45B05D203B7BE2DDC1ECD5B5717035B717D6906D1F3A06990533176407C82E909D654E2A6036283E4172AF764EA39A9D30FC7A17C46C901DE0B085DA09C2DFAF6C06CB5DECCFA4BABD2033416683EC404FE7E034786B07567D79666A24616C6680CC06D981CDDE1F9736D0CC5E90D9E4DA4B28BF0C577BD1C375D4DEA165EF967C5F86126B4D9CE6134A57305C6AA305368B14FFEE2C0E60A8B0D321DB5E905E9019E484F3DEB240861A473DB0398D3E960C6F8EAFC46927480EA406A4B6C65117AC9792F83D5819C2D0E86A0031CFCD84E1E98145187682C4407260F701D582F450235D1DAE0E6568F53486C4999D2EC3B575887A15C4068981E4406A406A494D57B8EA05103E5A13C6D0EB6F0E36BFD04A93E1C4BC163006B141622039901A5CFA71D50BC4D68333226C31D22D488CD47A10BDDE07D5D184EAD34509CE0CF9E6EA600C629353EF93DBCE5997E509C684D4DD5D5C87B59D83AB5DF772C754707B93DC3606482FD80C1CED3AF4762CB2DDB46CC7E26AB783DADCB46CB70F643F6520FA65008963CC22],'Bitmap'=[ZIP460E000078DA73F275E36300033320D600623928666450008B0B40E591C1FFFFFFE1F8FD8BA70C9BA6343374443B3214DBCA530583CC029909321BD92E183EB56D3543858B3AD5EC43C720B34176A0DB09932F735466D8D09CCC706FFB7486BFB77731FCBFBB872C0CD27B67EB54B059203361E6C3ECFEF0EA3943959B1658ACC1478FE1E9FE7964DB850B3FDE3B176C36C80E905D203BB7CFEE86FB13240F53FB62DB2486F3DDA90CC7EBC271E2C3D5A138E52EF4A681CD40B6BBD45E116C17C8CE9E7877307B756D1C5CCDED853578ED03E18395210C0D2E0604D581CC82990BB2036417C8CE322715301B149F20B9573BA711346B7F791043AD931E439E991A41B520FC7A17C46C901DE0B085DA09C2DFAF6C06CB5DECCFC46BC6DEB240862A7B1DB09DC4DA0B32136436C80EF4740E4E83B776E0D5BFB33880A1DC4E1B6E27B1F68230C86C901DD8ECFD7169034E7DDB0AFC184A6DB4C0764D8AF726D95E90D9A4DABB29D79BA1D84A136CCFCCF420865FD7B7D3DCDE35191E0C85961A603BE6E74732FCB909092FE4B0C685C9B57749920B43BEB93AD88C15954928E517ADEC9D1BE300D7BFADB380A4F2895C7BA7865A83F5155868301C9E514772B938D4EC05E179B18E740FE7814C57D8F2D1F4D400861F57B7D2C55E58B951620D29ABBAC35D183E9E5D4797F20A8477950430543BE882EDAAF7B2A0AABD84EA05509DDBE26144D57A81D87AF0684D18C384400B8AEB4172EA7DE4F28CDC7A9FDC760E08AF4A7327A8E6CEA25AACED1CE476DDC3DDB3E16A5EEE980A6E9B111B7FD8DA75203360E681CC466ED7A1B76391EDA616069989DE8EC5D56E07B5B969D16E1F0CFD9481E897010053E5CD7D],'Bitmap'=[ZIP460E000078DA73F275E36300033320D600623928666450008B0B40E591C1FFFFFFE1B8715A3DC3F2BD590C07AF47339C7B1242150C320B6426C86C64BB6078C6DA6286D30FC3A8661F3A06990DB203DD4E847C30C38C15360CF955DA0CC131F20C415172646190DEC21A6DB059203361E6C3EC6E98DAC070EA01C49F87AEFB33649668906D172E9C53AE09361B6407C82E909D4B76E5C0FD995DA609579B5E21C4503B8385A16511035918A4176406B2DD671F41FC0DB273FF9558307BCE5A3BB89AA20E6EB2ED43C720B360E682EC00D905B2F3CCA350301B149F20B9D45261AAD909C32925C260B3417680EC82D909C291498A60B9EAA9AC54B7176426C86C901DE8E91C241E122B4B753B61186436C80E6CF6462449C1D5512BDFC2CC03993D14EC2537CF8EDA3BF4ED3D7E27106B5A42CEA7C3C9BFB8F2CE508EDFE15C5E0D44BD40EF7A10BDDE07D5D1F4A8F769DDCE296CE3C1DACEC1D5AE4B2D136228EF6925DB3E905E9019B8DA75E8ED5864BB69D98EC5D56E07B5B969D96E1FC87ECA40F4CB00E4E9FCE0]]
}
Add(ArrayEnum,8587963,420,231)
{
link(onItem,13513837:##add,[])
link(onEndEnum,4496329:doResize,[(465,244)(465,293)])
link(Array,6493076:Array,[])
}
Add(Button,14610230,266,448)
{
Left=85
Top=210
link(onClick,10922383:doRandom,[])
}
Add(StrList,3874748,399,371)
{
Strings=#6:собака|11:зелёный дом|9:синий дом|7:стрелка|6:письмо|
}
Add(Random,10922383,315,448)
{
Max=4
link(onRandom,8547759:doValue,[])
}
Add(ArrayRW,7347889,413,448)
{
link(onRead,19569:doText,[])
link(Array,3874748:Array,[])
}
Add(Label,19569,462,448)
{
Left=85
Top=235
}
Add(If_else,6007101,553,231)
{
link(onTrue,8359779:doMessage,[])
link(Op1,13513837:##eventIndex,[(559,219)(535,219)(535,275)(510,275)])
link(Op2,10156357:Var,[])
}
Add(LineBreak,564804,364,497)
{
Type=1
link(Data,8547759:Value,[])
Primary=[10156357,196,-301]
}
Add(Message,8359779,602,231)
{
Message="Правильно!"
}
Add(Memory,8547759,364,448)
{
Default=Integer(-1)
link(onData,7347889:doRead,[])
}

ps. Подозреваю, что все 157 ImgBtn-ов у вас добавлены прямо в схему. Если так, то это жесть - надо повторяющиеся элементы создавать динамически.

Редактировалось 2 раз(а), последний 2019-08-25 20:40:53
карма: 9
0
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)