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

Вниз

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

 
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 вся ветка

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

Наверх





Память: 0.48 MB
Время: 0.008 c
3-82641
madmike
2002-11-05 17:34
2002.11.25
Длинный SQL-запрос, что делать...


3-82617
EAlexander
2002-11-04 19:00
2002.11.25
про сервера


4-83036
sascha
2002-10-11 17:47
2002.11.25
dll


14-82993
slykirill
2002-11-07 12:33
2002.11.25
утилита для конвертирования файла chm в doc.


4-83064
x4y
2002-10-13 12:49
2002.11.25
Список запущенных процессов с полным путем





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский