| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Создание Label по щелчку мыши |
| Автор: Iwoyd 3.2.2009, 11:05 |
| Сразу прошу меня извинить, если подобные вопросы возникали уже на форуме. Но я просто не знаю, как корректно описать данный вопрос. Задача: по щелчку мыши в диалоговом окне создавать точку на экране и отображать ее номер. Пока в голове возникло только такое решение: при каждом щелчке создавать TLabel. Как это сделать? Если есть решение проще, подскажите пожалуйста, мои решения могут быть глупыми. Заранее спасибо) p.s. Хотелось бы, конечно, разъяснения по этому вопросу в C++ Builder с TLabel. Но можно и в MS Visual C++ со StaticText. |
| Автор: Zorak 3.2.2009, 11:18 |
| отхвачивай WM_LBOTTONDOWN и прикаждом щелчке миши делай щотчик на 1 больше...и етот щотчик (тоесть номер) виводи в диалог функцией TextOut чуть више координат щелчка миши.... например на 5 пикселов.... З,Ы. Если не понятно виразился, спрашивай.. - обясню =) (с) я говорил про Visual C++ 6.0 .. |
| Автор: Static 3.2.2009, 11:19 |
| 1. Для Билдера есть спец. раздел ;) 2. Не думаю, что TLabel - хорошая идея. имхо, лучше на Canvas формы рисовать точки. А рядом через TextRect писать номер. Билдер давно не видел, могу местами ошибаться - не помню, передаются ли в методе OnClick координаты щелчка. Если нет - их можно запоминать в OnMouseMove, например, там точно есть. Таким образом: - получаем OnClick - достаем запомненные накануне координаты мыши - делаем что-то типа Form1->Canvas->не_помню_название_метода - делаем небольшое изменение координат - в новых координатах делаем Canvas->TextRect(rect, IntToStr(i)) - где i номер точки, rect - прямоугольник TRect созданный с учетом измененных координат - i++ как-то так |
| Автор: 586 3.2.2009, 19:49 | ||
|
| Автор: Dmi3ev 3.2.2009, 21:49 | ||
вот так можно делать:
|
| Автор: taiven 3.2.2009, 22:03 | ||
ну тогда уж так:
|
| Автор: Dmi3ev 3.2.2009, 22:32 | ||||
тогда уж вот так)))
|
| Автор: taiven 3.2.2009, 23:09 |
настоящие программисты начинают отсчёт с нуля |
| Автор: Dmi3ev 4.2.2009, 00:00 | ||
скромно... |
| Автор: Iwoyd 11.2.2009, 09:56 |
| Огромное всем спасибо. Разобралась) Еще вопросик: Как по-вашему проще сделать проверку, попал ли пользователь щелчком мыши в определенную область (окрестность какой-л точки)? У меня голове возникает решение только с помощью циклов. Но я слишком плохо знаю возможности языка. |