Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 297

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте! Я понял наконец суть проблемы, которую я затронул в коментах в своем вопросе №2273.
Суть его в том - что при нажатии на кнопку 1 раз все работает и она выполняет свои функции - но если на нее нажать 2 раза подряд, то ничего не происходит, хотя должно 2 раза поменяться изображение... Проблема заключается в следующем - для кнопки есть событие - OnDblClick - которое я не задавал и поэтому, когда я 2 раза быстро щелкал по кнопке менялась картинка только 1 раз... Сколько я не думал по этому поводу - максимум до чего додумался, это для двойного щелчка баттона поставить событие одинарного - но при этом настолько резко идет смена картинок, что нереально углядеть, что было на первой... Т. е. смена картинок идет: плавно-резко-плавно. Вот я и думаю - может можно как-то убрать вообще это свойство двойного щелчка - сделать как на обычном баттоне - на котором все идеально (ведь там нет свойства - по двойному щелчку)? Может у кого-то есть хоть какие-то варианты - был бы нереально сильно признателен... Последний шаг остался - а я 2 дня на нем уже сижу.... Заранее спасибо! В программе использую PNGbutton...

Хитманчан Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Хитманчан (статус: Посетитель)
Вопрос отправлен: 11 января 2009, 23:19
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 12 января 2009, 17:43; участников в обсуждении: 3.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 12 января 2009, 05:38 [#1]:

для кнопки TButton ("обычного баттона") также предусмотрена обработка события двойного нажатия. Не в ту сторону копаете. приведите код своего обработчика нажатия кнопки.
Хитманчан

Хитманчан (статус: Посетитель), 12 января 2009, 10:16 [#2]:

Мережников Андрей, ну не знаю где там для обычного баттона предусмотрен 2-й щелчек... Вот скрин закладки Events для обычного TButton
http://s46.radikal.ru/i111/0901/99/ec6aea3b880f.jpg

А вот скрин Events для PNGButton
http://s46.radikal.ru/i114/0901/6e/92dd8b32ac31.jpg

Для обычного баттона нет строки OnDblClick - вот она именно мне все и портит... Мне не трудно выложить код - но я уже 2 раза себя проверил - сделал 2 варианта - первый через Visible show|false - второй через ресурсы... проблема именно в самой кнопке...
Хитманчан

Хитманчан (статус: Посетитель), 12 января 2009, 14:02 [#3]:

Может можно как-то сделать, что бы на 1 щелчек мыши задать двойной - ну кликнул 1 раз - а он воспринимает, как двойной... и тогда все коды на OnDblClick перекинуть... такое возможно? Ато у меня ообще вариантов никаких нет уже...
Ученый

Ученый (статус: 8-ой класс), 12 января 2009, 16:34 [#4]:

Не пойму только одного....зачем ТАК быстро нажимать.....
А на счет кнопки....Ставьте простой Tbutton... и все проблемы..
Хитманчан

Хитманчан (статус: Посетитель), 12 января 2009, 16:59 [#5]:

Ученый - иногда получается так быстро нажимать... например - если вдруг интерено сколько там картинок - хочется пролистать все - драконишь по кнопке - а оно только четные показывает с такой скоростью)) Ну или нечетные - смотря с какой начать... А на обычный батто не красиво получается...
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 12 января 2009, 17:30 [#6]:

а если попробовать процедуру перекинуть в обработчик OnMouseDown?
в начале поставитьpngbutton.enabled:=false; перед выходом из обработчика pngbutton.enabled:=true;
можно сделать проверку, чтобы процедура запускалась при нажатии на левую кнопку мышки.
А за OnDoubleClick у TButton, прошу прощения, попутал
Хитманчан

Хитманчан (статус: Посетитель), 12 января 2009, 17:43 [#7]:

Мережников Андрей, я конечно до конца понял логики - но все работает отлично... просто код на OnMouseDownn поставил и все прекрасно работает) Правда с Enabled не игрался - но вроде и без этого работает) Большое спасибо))

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:28
Выполнено за 0.03 сек.