Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

двойной клик или 2 одинарных [D5, D7, WinXP]


Charly22 ©   (2005-09-26 20:59:00) 

Доброго здравия!
Представьте себе, что рисуется полигон, и координаты его вершин заносятся в массив.
Начало рисования полигона инициализируется двойным щелчком в OnMouseDown. Промежуточные вершины ставятся одним кликом. последняя вершина, как и первая, обозначается двойным кликом. Допустим, квадрат! Массив здесь должен содержать 4 элемента, а на самом деле в нем 6 элементов. Почему это получается, я понимаю. А как этого избежать, подскажите, пожалуйста!


Джо   (2005-09-27 05:19:00) [1]

Вообще-то, время дабл-клика можно определить, вызвав функцию GetDoubleClickTime(), но, по своему опыту разработки аналогичных редакторов замечу следующее.  Строить редактор таким образом - не очень хорошая идея. Есть 2 более приемлимых варианта:

1. При наведении на первый узел в пределах 1-3 пикселей курсор принимает форму, означающую замыкание полигона и одинарный щелчок его таки замыкает :) (используется, например в MapInfo)
2. Предоставить специальную кнопку "Замкнуть полигон". Я, в свое время, предпочел именно такой вариант. Картинка с иллюстрацией подхода: http://webfile.ru/540822(17 кбайт).


Германн   (2005-09-27 01:35:00) [2]

Увы, 17-я строка опять не приведена! :(


Kolan   (2005-09-26 22:28:00) [3]

Отличить двойной клик от одинарного можно проверив промежуток между кликами.
Если он мал(по моему это GetDoubleClickTime или что-то в этом роде) то это дваойной клик....


guest_new   (2005-09-26 22:02:00) [4]


> Почему это получается, я понимаю. А как этого избежать,
> подскажите, пожалуйста!


ну если понимаешь то чё спрашиваешь ? :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо