Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2009, 09:57   #1
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию Поиск метки под курсором.

Вобщем такая образовалась задача....
Есть форма в которой есть несколько вложенных в друг друга PageControl, на каждой странице есть метки с данными из базы. (то есть имена нужных Label 'ов я знаю), надо при нажатии правой кнопки определить название метки под курсором и запомнить его для последующей обработки.

Можно тупо присвоить каждой метке событие ContextPopup для определения имени:
Код:
procedure TForm1.SPT961_dtContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
  parametr_graf:='SPT961_dt';
end;
Но меток таких очень много, порядка 1000, хотелось бы не увеличивать в разы код программы,
вариант бежать по всем областям меток не подходит так как у меток могут быть одинаковые координаты, хотя сами метки располагаются на разных листах PageControl' а.

P.S. объясняю плохо, приложил маленькую картинку программы.
Изображения
Тип файла: jpg delf_F.jpg (31.2 Кб, 105 просмотров)
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 13.10.2009, 10:08   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

можно всем меткам назначить одну процедуру ContextPopup и использовать параметр Sender
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.10.2009, 10:09   #3
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

А тогда как смотреть в этом параметре имя метки?
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 13.10.2009, 10:10   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

если у вас множество однотипных компонентов как label и нужно идентифицировать их - используйте свойство tag компонента, т.е. присвойте каждому объекту свой tag=0 (по умолчанию), 1, 2 и т.д.
...потом объедините под одним событием popupcontext все метки:
Код:
procedure TForm1.Label3ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
 with (sender as tlabel) do
  form1.caption:= inttostr(tag) // как пример
  // ну или имя
  //form1.caption:= name
end;
...тестовый пример во вложении
Вложения
Тип файла: zip metki.zip (190.3 Кб, 8 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 13.10.2009, 11:02   #5
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

Спасибо всё понял, можно закрывать тему.

Хотя есть идея по поводу отслеживания курсора и определения под ним объекта по координатам и отображению на текущий момент времени, но это уже больше теоретические исследования для меня будут. для поставленной задачи вполне достаточно полученного ответа.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Координаты под курсором на TChart tvorec2008 Помощь студентам 0 18.09.2009 20:18
C# Консоль. Узнать символ под курсором ACE Valery Помощь студентам 4 13.09.2009 12:56
вывод в Memo под курсором Aleksandar Компоненты Delphi 5 22.10.2008 22:43
Получение слова под курсором. lazutov Win Api 4 15.08.2008 17:10
окно под курсором mrandrey Win Api 1 11.05.2007 18:30