Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизGetWindowText Найти похожие ветки
← →
Ruslan_ (2002-02-09 14:53) [0]Помогите, пожалуйста, решить такую задачу.
Есть программа, в которой есть 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;
← →
Dimaond Cat (2002-02-11 02:48) [1]Странно, что ты не догадался сделать следующий шаг
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 такой фокус не прокатит т.к. он не имеет хендла
← →
Bachin (2002-02-11 11:43) [2]2Dimaond Cat:
А разве TLabel это не STATIC_... как и TButton?
надо будет пересмотреть иерархию, а то я туда же и TGroupBox отнес...
← →
Dimaond Cat (2002-02-13 00:12) [3]Нет лейбл это не статик текст, он образован от TGraphicControl тоесть по идее не явл. оконным элементом управления
← →
Raptor (2002-02-13 13:40) [4]Из Label вытащить текст тебе никак не удастся. А что касается Edit-а, то хочу посоветовать читать хоть иногда хелп. Поверь, очень помогает. ;-))
Если ты посмотришь описание функции GetWindowText в хелпе, то обязательно увидишь строчку:
This function cannot retrieve the text of an edit control in another application.
Так что для этих целей надо юзать SendMessage(WM_GETTEXT,...).
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c