Под залипанием понимается следующее: нажимаю на кнопку, циклически вызывается обработчик, до тех пор пока кнопку не отпущу.
Если в OnMouseDown делать цикл, то проблема получить новое состояние мышки, тк оно передается по значению.
Здравствуйте, TYTbIHbKEC, Вы писали:
TYT>Под залипанием понимается следующее: нажимаю на кнопку, циклически вызывается обработчик, до тех пор пока кнопку не отпущу. TYT>Если в OnMouseDown делать цикл, то проблема получить новое состояние мышки, тк оно передается по значению.
Если не сильно думать, то так(если я правильно понял):
//onMouseUp — события на отпускания клавиши
var flag:boolean ; // глобальная переменная
обработчик onClick :
flag:=true
while flag do
// чето делаем
обработчик onMouseUp :
flag:=false;
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Слова, пустые слова, подумал Стормгрен. Слова, за которые прежде люди дрались и умирали, но никогда больше не станут за них ни умирать, ни драться. И от этого мир станет лучше.
Здравствуйте, neiroman, Вы писали:
N>обработчик onClick : N>flag:=true N>while flag do N> // чето делаем
N>обработчик onMouseUp : N>flag:=false;
Ага, только если на вставить в обработчике события onClick в цикле Application.ProcessMessages, то ваш цикл будет крутится и крутися, пока стэк не начнет орать и ругатся матом, после чего вылезет красивое окошком примерно с таким содержанием: Stack Overflow..bla-bla-bla.
Здравствуйте, BeeNokle, Вы писали:
BN>Здравствуйте, neiroman, Вы писали:
N>>обработчик onClick : N>>flag:=true N>>while flag do N>> // чето делаем
N>>обработчик onMouseUp : N>>flag:=false;
BN>Ага, только если на вставить в обработчике события onClick в цикле Application.ProcessMessages, то ваш цикл будет крутится и крутися, пока стэк не начнет орать и ругатся матом, после чего вылезет красивое окошком примерно с таким содержанием: Stack Overflow..bla-bla-bla.
На эту тему есть классный пример в хелпе Delphi см. ProcessMessages/Delphi example
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Здравствуйте, SashaV, Вы писали:
SV>>На эту тему есть классный пример в хелпе Delphi см. ProcessMessages/Delphi example
LT> В хелпе дельфи классных примеров с ProcessMessages нет.
LT> А делается это, например, так:
LT>http://rsdn.ru/Forum/?mid=500558