Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.25;
Скачать: CL | DM;

Вниз

Поиск контрола   Найти похожие ветки 

 
arcad ©   (2002-10-11 15:20) [0]

Уважаемые мастера.
Есть в дельфях такая функция
function FindControl(Handle: HWnd): TWinControl;
Подскажите как сделать тоже самое с помощь WinAPI, плииизз.


 
k   (2002-10-11 15:35) [1]

WinAPI ничего не знает о TWinControl, и сделать тоже самое ему не подсилу....

о, кстати, мы родились с тобой в 1 день, только я в 80-м году:)


 
MBo ©   (2002-10-11 15:56) [2]

>как сделать тоже самое
Что сделать????
Handle однозначно определяет окно.


 
ZrenBy ©   (2002-10-11 15:57) [3]

может GetNextDlgGroupItem или подобные подойдут ?


 
arcad ©   (2002-10-11 15:59) [4]


>k
> о, кстати, мы родились с тобой в 1 день, только я в 80-м
> году:)

Очень рад за нас!
Возвращаясь к теме вопроса, мне фунция WinAPI GetFocus() возвращает хендл контрола. Как мне с помощью того же WinAPI определить что это за контрол и если это TEdit, выполнить над что нужно?


 
arcad ©   (2002-10-11 16:01) [5]


> MBo © (11.10.02 15:56)
> >как сделать тоже самое
> Что сделать????
> Handle однозначно определяет окно.

Сорри, неправильно сформулировал вопрос. Как говорится на любой вопрос - любой ответ.


 
arcad ©   (2002-10-11 16:08) [6]


> MBo ©

Нужно получить по хендлу сам контрол.


 
ZrenBy ©   (2002-10-11 16:11) [7]

GetClassName


 
arcad ©   (2002-10-11 16:21) [8]


> ZrenBy © (11.10.02 16:11)
> GetClassName

Ну имя получу, а сам объек-то как? Или я чего-то недопонимаю, что скорее всего?


 
ZrenBy ©   (2002-10-11 16:27) [9]

>>мне фунция WinAPI GetFocus() возвращает хендл контрола.
>>Как мне с помощью того же WinAPI определить что это за контрол
>>и если это TEdit, выполнить над что нужно?

Это твой вопрос ?


 
arcad ©   (2002-10-11 16:40) [10]


> ZrenBy © (11.10.02 16:27)
> >>мне фунция WinAPI GetFocus() возвращает хендл контрола.
> >>Как мне с помощью того же WinAPI определить что это за
> контрол
> >>и если это TEdit, выполнить над что нужно?
>
> Это твой вопрос ?

Да мой.


 
Song ©   (2002-10-11 16:40) [11]

Объект идентифицируется хэндлом, т.е. другими словами считайте что хэндл это и есть объект.


 
arcad ©   (2002-10-11 16:48) [12]


> Song © (11.10.02 16:40)
> Объект идентифицируется хэндлом, т.е. другими словами считайте
> что хэндл это и есть объект.

Ну тупой я люди, извините.
Повторяю как мне объет-то сам получить, точнее доступ к его полям и методам?
Я ж не могу написать TEdit(ThisHandle).Text:="";
Надо же сам объек-то получить,
например так TEdit(FindControl(ThisHandle)).Text:="";
Вот я и спрашиваю как мне этот самый FindControl(ThisHandle) сделать только с помошью WinAPI?





 
Толик ©   (2002-10-11 17:51) [13]

>>как мне этот самый FindControl(ThisHandle) сделать только с помошью WinAPI?
НИКАК!!!
WnApi НИЧЕГО не знает о ни об объектах VCL, ни о Делфях, ни о Вас как программисте. Вообще ничего. TWinControl и его наследники являвляются просто красивой оболочкой вокруг объектов Windows. Все объекты в Виндах характеризуются уникальным дескриптором. называемым handle. Вот по нему можно искать объекты с помощью WinApi, но и результат поиска буде тоже объект WinApi, а не VCL!!!


 
Song ©   (2002-10-11 22:19) [14]

2arcad © (11.10.02 16:48)
Вы поймите что ни TEdit ни его свойства Text ни одного его метода в АПИ нет. Это VCL. Вы же хотите АПИ? Значит забудьте о классе TEdit как о таковом. Все программы в ОС работают через сообщения. Например, аналог VCLного TEdit.Text в АПИ - это WM_SETTEXT и т.д.


 
gamlet ©   (2002-10-13 02:33) [15]

если тебе нужно текст записать в ТЕдит то это можно сделать так:

var mytext:String;
..............
SendMessage(Handle{окна Едита или св-во Handle TEdit"a}, WM_SETTEXT, 0, PChar(mytext));

вобщем посмотри хелп по WM_SETTEXT и WM_GETTEXT....
удачи......................



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

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
1-82701
DN
2002-11-14 09:53
2002.11.25
Работа с Paradox


14-82923
iZEN
2002-11-05 08:58
2002.11.25
Марк Кэнту,


1-82779
Barman
2002-11-12 23:23
2002.11.25
DeDe


14-82926
PVOzerski
2002-11-05 14:13
2002.11.25
Какая-то проблема с железом


14-82912
777
2002-11-07 21:25
2002.11.25
drum&bass