Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Вниз

подскажите аналог getclassname, только для получения имени   Найти похожие ветки 

 
vogel max   (2007-07-09 08:59) [0]

Добрый день!
Собственно вопрос прозвучал - нужно получить имя объекта под курсором в своём приложении. Нашол только getclassname..


 
Сергей М. ©   (2007-07-09 09:08) [1]

ControlAtPos


 
homm ©   (2007-07-09 10:14) [2]

> Собственно вопрос прозвучал - нужно получить имя объекта

Что такое объект и что такое его имя?


 
Rouse_ ©   (2007-07-09 10:57) [3]

http://rouse.drkb.ru/tmp/wndinfo.zip


 
vogel max   (2007-07-09 11:38) [4]

to homm:
незнаю как корректно назвать.. видимо компонент визуальный и его свойство name


 
Сергей М. ©   (2007-07-09 11:46) [5]


> vogel max   (09.07.07 11:38) [4]


Несколько ключевых моментов.

1. Всякий компонент (TComponent) есть объект (TObject), но не всякий объект есть  компонент.

2. Всякий видимый на форме (в ран-тайм) компонент есть контрол (TControl).

3. Всякий контрол как компонент имеет имя - св-во Name

4. Имя контрола не обязано быть непустым.


 
vogel max   (2007-07-09 11:46) [6]

to Rouse_
выводится класс, caption,   имени нет
мне надо именно свойство name


 
homm ©   (2007-07-09 11:48) [7]

> [4] vogel max   (09.07.07 11:38)

А WinAPI каким боком?


 
vogel max   (2007-07-09 12:42) [8]

Использую
TWinControl(ControlAtPos(ScreenToClient(Mouse.CursorPos), True, True)).Name
Если контрол на форме всё нормуль, если pagecontrol (его tabsheet) то пишет только pagecontrol.name
Как бороть?


 
Сергей М. ©   (2007-07-09 13:04) [9]


> Как бороть?


Вызывать метод ControlAtPos того самого TabSheet"а


 
ЮЮ ©   (2007-07-09 13:18) [10]

ScreenToClient тоже того самого TabSheet"а


 
vogel max   (2007-07-09 13:59) [11]

спасибо. работает.
использую
edit1.Text:=
TWinControl(pagecontrol1.ActivePage.ControlAtPos(pagecontrol1.ActivePage.ScreenT oClient(Mouse.CursorPos), True, True)).Name

а можно ли сделать универсально, на случай если на tabsheet располагается TPanel а на ней контрол чьё имя необходимо? Или если ещё одна форма открывается на которой тоже надо смотреть имена.


 
vogel max   (2007-07-09 18:05) [12]

нашол. FindVCLWindow(Mouse.CursorPos).Name;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
3-1177424576
alpha5
2007-04-24 18:22
2007.08.05
Как узнать позицию маркера (индикатора) в dxDBGrid ?


2-1183810601
Qzzma
2007-07-07 16:16
2007.08.05
Проблемы с кодировками


2-1184134646
Jacks
2007-07-11 10:17
2007.08.05
Помогите с FastReport


15-1183634531
Cerberus
2007-07-05 15:22
2007.08.05
Sb live!


15-1183734236
oldman
2007-07-06 19:03
2007.08.05
Грубые вы, уйду я от Вас...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский