|
Тема
|
Mouse Event
|
|
Автор |
trump (непознат) |
Публикувано | 08.04.05 12:25 |
|
Здравейте,
Как трябва да постъпя в следния случай?:
Формата ми трябва да обработава тези събития:
OmMouseDown,OnMouseUp,OnDblClick обаче когато ползвам
OnDblClick не искам да се изпълняват OmMouseDown , OnMouseUp.
В момента се при OnDblClick се изпълняват OmMouseDown + OnMouseUp + OmMouseDown
Предварително благодаря!
Капка никотин убива кон, а чаша кафе - клавиатура.
| |
Тема
|
Re: Mouse Event
[re: trump]
|
|
Автор |
Mixy (миксер) |
Публикувано | 08.04.05 12:38 |
|
Можеш да прехващаш двойни кликове с OnMouseDown, като използваш някакъв флаг и таймер. При първото щракване вдигаш флага и го броиш за единичен клик (или не - зависи от логиката на програмата) и ако до изтичане на времевия интервал не настъпи друго събитие си остава единичен, а ако постъпи още един клик, става двоен. Не забравяй да деактивираш таймера и да сваляш флага, инак програмата ти ще "прещрака" .
Mixy
| |
Тема
|
Re: Mouse Event
[re: Mixy]
|
|
Автор |
trump (непознат) |
Публикувано | 08.04.05 17:14 |
|
ОК благодяря за отговора!
Капка никотин убива кон, а чаша кафе - клавиатура.
| |
Тема
|
И ползвай системната стойност Time за DblClick
[re: trump]
|
|
Автор |
NikB (любопитен) |
Публикувано | 08.04.05 21:31 |
|
Само че не се сещам как се казваше константата, но ще я намериш :)
(ако вече не си :)
Впрочем сега се сещам, че аз като го правя това не ползвам таймер, а просто запомням времето на клика и сетне (в другото събитие) го сравнявам с оная константа и си правя изводи (пести се един таймер :)
Редактирано от NikB на 08.04.05 21:35.
| |
|
|
|
|