Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Как визуально сэмулировать нажатие на контрол? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 12:11 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
SetFocus() вызвать нужного контрола ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 12:42 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Hel!RiserSetFocus() вызвать нужного контрола Ну и что :), ну сделали его активным и что дальше? Суть состоит в том, чтобы, не делая этот контрол активным, необходимо сэмулировать его реакцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 16:43 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
ну и фс:е %) Вопрос либа шире раскрывай, либа ч:е. Вызови тада событие Click() конторла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 16:53 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
По-моему - никак. Нужно все - ручками. Рисовать самому кнопочку (лепить из других объектов, скажем, два состояния: нажато/не нажато - в смысле сначала виден один, потом другой, добавлять методы и т.д.) а потом этим пользоваться ;) Я так делал уже как-то раз... Зато можно рисовать любые кнопки, хоть круглые, хоть выпуклые, хоть впуклые :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 13:13 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Hel!Riserну и фс:е %) Вопрос либа шире раскрывай, либа ч:е. Вызови тада событие Click() конторла Как раз после того, как это не дало никакого результата , я и обратился к форуму! Правда стоит уточнить, каким образом осуществить этот вызов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 13:30 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Правда стоит уточнить, каким образом осуществить этот вызов? Command1.Click() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 13:38 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
CrispyПо-моему - никак. Нужно все - ручками. Рисовать самому кнопочку (лепить из других объектов, скажем, два состояния: нажато/не нажато - в смысле сначала виден один, потом другой, добавлять методы и т.д.) а потом этим пользоваться ;) Я так делал уже как-то раз... Зато можно рисовать любые кнопки, хоть круглые, хоть выпуклые, хоть впуклые :) Допустим: "Кнопка" - это контейнер (Container). У него есть свойство BorderWidth = [1 - нажата, 0 - отжата] и SpecialEffect = 1 (Sunken). Вариант получения эффекта нажатия: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 13:40 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
alexFV Правда стоит уточнить, каким образом осуществить этот вызов? Command1.Click() Нет - уже знаем, не проходит такой вариант, однозначно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 13:42 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Для кнопок у меня работает пара SetFocus() и Keyboard "{Enter}" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 13:44 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
1)Для кнопки нажата/отжата имхо лучше использовать CheckBox Style = Grafical. 2)Нет - уже знаем, не проходит такой вариант, однозначно! Ну можно завести метод формы. И вызывать его откуда хошь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 13:50 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
alexFV1)Для кнопки нажата/отжата имхо лучше использовать CheckBox Style = Grafical. 2) Нет - уже знаем, не проходит такой вариант, однозначно! Ну можно завести метод формы. И вызывать его откуда хошь. Есть одна особенность для стандартных контролов , на них всегда падает фокус , что мне совершенно не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 15:06 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Есть одна особенность для стандартных контролов, на них всегда падает фокус, что мне совершенно не нужно. Что-то я вообще перестал понимать! Не нужно чтоб падал фокус?, ну если программно, то в GotFocus переводи на другой объект, на который нужно , а если только для пользователь, то TabStop = .F. поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 15:37 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Hi -=guest=-! вычислить координаты кнопки, и MOUSE CLICK AT ... PIXELS Если тебе нужно чтобы всё ВЫГЛЯДЕЛО как будто кто-то подвёл мышку к кнопке и нажал (а потом отпустил) на левый (или какой там у тебя основной) батон на ней. P.S. Если ты что-то другое имел в виду под "визуально сэмулировать", то уточни что именно тебе нужно. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 01:21 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
-=guest=- Допустим: "Кнопка" - это контейнер (Container). У него есть свойство BorderWidth = [1 - нажата, 0 - отжата] и SpecialEffect = 1 (Sunken). Вариант получения эффекта нажатия: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Элементарно ватсон. Где-нибудь в INIT-е делаем PUBLIC vkl (например) т.е. триггер включения. а потом в свойстве CLICK контейнера: thisform.Container1.BorderWidth = IIF(vkl,1,0) vkl=!vkl И все. Входит. И замечательно выходит. Точно так же можно сделать, чтобы менялся цвет или еще чего-нибудь. Можно снизу подложить невидимый до включения сонтейнер и сделать, чтобы у них видимость менялась поочередно от каждого клика. Можно сделать, чтоб эта кнопка от нажатия сдвигалась чуть ниже-правее и т.д. Я кстати предпочитаю использовать не контейнер, а Shape - там можно и углы закруглить. По тому же принципу можно и радиобатоны сделать, только параметр тогда не триггерный, а цифровой - с номером включенной кнопки. А стандартный радиобатон Фокса - фигня (мне не нравится), ведет себя диковато, требует для укрощения кучу движений, и все равно ХР-еновый... И еще в 7-м фоксе, кажется (уже и подзабыл по сравнению с девяткой (она класс!) - обновление контейнера делается хуже, что-то там с видимостью вроде я делал - лишний финт. чтобы срабатывало что ли, а шейп так себя вроде бы не вел... Но это надо вспоминать.. Кстати, для красоты - сверху шейпа кладу надпись, снизу - чуть со сдвигом - тень (такой же шейп потемнее), не забыть только и на их методы клика добавить нужное (лучше оформить это нужное в отдельный метод на форме). Да - остальные телодвижения по форме, скажем по гридам - делаются еще проще: KEYBOARD, KEYBOARD и еще раз KEYBOARD... с разными там Tab, Left-Right-Up-Down-Arrow... Это если захочется попугатть юзера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 14:24 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Как детский вариант, кнопочка залипла потом отлипла Просто в твоем варианте все быстро происходит что ты просто не замечаешь изменений Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 09:31 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Простите за любопытство, но зачем это надо ??? Просто я не могу представить себе задачи, где нужно визуально эмулировать нажатие на контрол. Может быть вы разрабатываете софт нового поколения, где работа с программой осуществляется силой мысли ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 23:56 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Эх, блин! Раз уж пошла такая гулянка... :| Опишу в двух словах свои кнопочки. Я их сделал чуть овальными. Позади каждой с небольшим смещением - более светлый контур такой же формы, для получения эффекта "отсвечивания", поверх кнопки - текст надписи. Все эти три объекта имеют одинаковые обработчики. Но - не на методе CLICK (!), а на - MouseDown и MouseUp. Снизу под кнопкой - со смещением вправо-вниз - тень, той же формы, но темно-серая. При нажатии мышкой на кнопку выполняется метод,дополнительно добавляемый в форму, в котором три вышеназванных части кнопки (кроме тени) смещаются вниз и вправо. Создается эффект "приседания" кнопки - к неподвижной тени. При отпускании мышки выполняется второй также добавляемый метод, в котором все эти три объекта возвращаются назад и цвет кнопкт меняется на другой - скажем, более яркий. Кнопка "включилась" (т.е. ее "фиксатор" - переменная VKL приняла значение .T.). При вторичном нажатии - все наоборот, кнопка "гаснет". То же самое можно делать программно - по нажатии любой нужной клавиши вызывать сперва первый метод ("приседание" кнопки), потом через =INKEY(0.1) (задержку 0,1 сек я сам подобрал, может другая нужна будет) - срабатывает второй метод (возврат кнопки на место). У меня таких кнопок несколько в ряд. Нажимаешь одну - она "приседает" и "зажигается", остальные при этом "гаснут". Можно перебирать их нажатием клавиши Tab. Здесь просто надо, чтобы переменная, фиксирующая кнопку, сохраняла ее номер. А в методе, срабатывающем после нажатия (вызываемом из MouseDown всех трех частей кнопки) - нужно определить, какая кнопка была щелкнута мышкой - с помощью функции SYS(16,0) я вытаскиваю номер нажатой кнопки (само собой он должен быть сначала в имени кнопки :). Если же этот метод вызван клавишей Tab - просто прибавляется к переменно1 1, и дальше - выполняется "активция" следующей кнопки. (понятно, что при достижении максимльного номера - он становится = 1) Тут можно много чего придумать - и каждую кнопку "активировать" своей клавишей, и все, что угодно. В этом и вся прелесть "работы ручками" ;) Смотрится - как в Делфях или в Сишке. Чек-боксами такое - фиг сделаешь!... И Конечно, главное - не забыть во второй метод вставить вызов еще какого-нибудь полезного действия З.Ы. А сдругой стороны - конечно. можно все шлепать и по стандарту, юзвери - ко всему приручаются, и по фоксным менюшкаи лазают и штаны через голову надевают, лишь бы результат какой был... Только скучно - вот так то вот. Хотя - кому как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 12:19 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Hi Crispy! Круто - изобретать сначала кнопку, потом OptionGroup:) Потом будем ловить баги типа когда нажали НА кнопке а отпустили НЕ НА ней, и работа с клавиатуры (ибо ни Shape ни Image не получают фокуса, а значит... правильно добавим обычный invisible commandbutton) :) Ей богу, заняться вам там нечем :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 02:49 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Hi, Igor Korolyov! 1) Художника обидеть может всякий ;) 2) КАждому - свое; 3) Тем не менее такое приложение уже месяца 3-4 работает у нескольких пользователей. Только восторги. И ни одного бага! (как это ни смешно) А вышеописанные баги - и в принципе там невозможны (уж я извращался над этим приложением по-всякому вначале сам - всегда так делаю, перед тем, как отдать). 4) Зачем НАРИСОВАННОЙ кнопке получать фокус???... Это пусть юзер думает, что она получает (если он такое понимает). Нам важнее, что происходит на самом деле. А по поводу "нечего делать" - если открыть любую современную нормальную программу (не-фокс) - почему бы на чужих приерах не поучиться делать свой собственный пользовательский интерфейс, чтобы был удобнее и красивее, чем пока это можно получить стандартными элементами фокса? Тем более, что фокс дает даже такую возможность. И еще по поводу кнопочек: Там, где нужно быстро и много вводить - мыша всегда уступает клаве. Удобная программа для пользователя - лучше, чем "быстросклепанная" стандартным образом, но глючащая потом в самых неожиданных местах. Глючность проги - зависит не от того, из чего ее делали, а только - кто ее делал. (аксиома !) К тому же, если следующий фокс предложит мне то, чего пока еще в нем нет - разные там красивые и удобные прибамбасы, еще лучший грид и др.вещи - я приму это с радостью. Но такого пока что нет. Замечательно хотя бы то, что грид в девятке - уже не такой уродливый, как в семерке... А впрочем, см.п.2))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 12:34 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Hi Crispy! > 3) Тем не менее такое приложение уже месяца 3-4 работает у нескольких > пользователей. Только восторги. Не верю! Через 2 дня о круглой кнопке уже никто не восторгается, а через неделю даже и не вспомнят (о чём просили, если НЕ делать всякую чухню). А теперь считаем - я потратил 24 часа на продумывание интерфейса (в т.ч. и чисто клавиатурного конечно - причём И на хоткеях, И на "кнопочках со стрелочками"), тестирование (в т.ч. ввод некоторого солидного массива данных, дабы узреть "неудобства" интерфейса). Ты же потратил на это 12 часов (в лучшем случае!) а остальные 12 рисовал свои круглые кнопки, "впукливающиеся" и "выпукливающиеся" при наведении мыши (особенно актуально для старых версий фокса, где таких эффектов не было предусмотрено)... И теперь ты смеешь утверждать, что тво прога будет лучше, надёжнее и практичнее моей? Какие глупости! Да конечно, если тебе надо сделать всего 1 прогу в год, то можно себе позволить заняться и такими извращениями, только я что-то сомневаюсь что тебе за это приплатят хоть копейку :) Так может лучше сделать 2 проги со стандартным интерфейсом? > 4) Зачем НАРИСОВАННОЙ кнопке получать фокус???... Это пусть юзер > думает, что она получает Затем чтобы нажимая скажем TAB, или "стрелочками" можно было до неё добраться и нажать. Не трогая мышь, не читая мануал по поводу хоткеев (да и не думаю я что ты навесил хоткеи на ВСЕ кнопки - ибо тогда видимо остаётся только цифровой клавиатурой пользоваться :) ) > А по поводу "нечего делать" - если открыть любую современную > нормальную программу (не-фокс) - почему бы на чужих приерах не поучиться Во-во, давай, бери пример с MS-Office - когда полезного там прибавляется на ..00005 копейки, зато интерфейс от версии к версии полностью переделывают :) Всё остальное конечно правильно, но полностью противоречит твоим же изначальным идеям о необходимости нестандартного интерфейса :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 23:54 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
AriesКак детский вариант, кнопочка залипла потом отлипла Просто в твоем варианте все быстро происходит что ты просто не замечаешь изменений Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Работает как надо, НО... виден курсор, что сильно портит визуальный эффект. Есть ли еще какой-нибудь способ или реализация wait, которая не приводит к остановке Window Messaging. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 11:10 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 12:05 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
For -=guest=- Я wait для такого обычно не использую. По-моему, вместо этого проще: =inkey(0.1) Разве нет? А по-поводу курсора мыши есть такая полуприкольная, но вполне реальная идея - рисуешь в любом редакторе (типа MicroAngelo или др.) пустой файл с расширением cur, а потом назначаешь его на свойство MousePointer формы или чего там нужно в нужное время - вот тебе и не видно курсора :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 13:20 |
|
||
|
Как визуально сэмулировать нажатие на контрол?
|
|||
|---|---|---|---|
|
#18+
CrispyFor -=guest=- Я wait для такого обычно не использую. По-моему, вместо этого проще: =inkey(0.1) Разве нет? А по-поводу курсора мыши есть такая полуприкольная, но вполне реальная идея - рисуешь в любом редакторе (типа MicroAngelo или др.) пустой файл с расширением cur, а потом назначаешь его на свойство MousePointer формы или чего там нужно в нужное время - вот тебе и не видно курсора :) Твой вариант - то, что нужно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 16:10 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32870607&tid=1594949]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 362ms |

| 0 / 0 |
