![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GetWindowText [D5, Win95/98]
Ruslan_ © (2002-02-09 14:53:00)Помогите, пожалуйста, решить такую задачу.
Есть программа, в которой есть 4 TPanel. В одну TPanel внедрен толи Label толи Edit. Мне нужно из своей программки получить доступ к Edit, я пишу вот такой код, но ни чего не получается. Возможно, выводит только Caption Tpanel-и, а как добраться до той Tpanel в которую внедрен Edit и получить доступ к Edit?. Может по-другому можно решить эту задачу.
Заранее спасибо.
procedure TForm1.Button1Click(Sender: TObject);
var
f:HWND;
d:pchar;
begin
f:=FindWindow("TfmMainForm",nil);
f:= FindWindowEx(f,0,"Tpanel",nil);
GetWindowText(f,d,80);
Form1.Caption:=d;
end;
Raptor (2002-02-13 13:40:00) [1]Из Labelвытащить текст тебе никак не удастся. А что касается Edit-а, то хочу посоветовать читать хоть иногда хелп. Поверь, очень помогает. ;-))
Если ты посмотришь описание функции GetWindowTextв хелпе, то обязательно увидишь строчку:
This function cannot retrieve the text of an edit control in another application.
Так что для этих целей надо юзать SendMessage(WM_GETTEXT,...).
Dimaond Cat (2002-02-13 00:12:00) [2]Нет лейбл это не статик текст, он образован от TGraphicControl тоесть по идее не явл. оконным элементом управления
Bachin (2002-02-11 11:43:00) [3]2Dimaond Cat:
А разве TLabel это не STATIC_... как и TButton?
надо будет пересмотреть иерархию, а то я туда же и TGroupBox отнес...
Dimaond Cat (2002-02-11 02:48:00) [4]Странно, что ты не догадался сделать следующий шаг
procedure TForm1.Button1Click(Sender: TObject);
var
f:HWND;
d:pchar;
begin
f:=FindWindow("TfmMainForm",nil);
f:= FindWindowEx(f,0,"Tpanel",nil);
f:= FindWindowEx(f,0,"TEdit",nil);
GetWindowText(f,d,80);
Form1.Caption:=d;
end;
Но к сожалению с Label такой фокус не прокатит т.к. он не имеет хендла