Главная страница
    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.47 MB
Время: 0.008 c
7-83022
progger
2002-09-24 19:48
2002.11.25
Как получить время создания файла?


14-82982
Пират
2002-11-06 17:13
2002.11.25
Пиратские программы???


1-82759
Idiot
2002-11-15 14:37
2002.11.25
коплексное число


1-82693
K_O_T
2002-11-14 14:36
2002.11.25
Глюк с ListView


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