Вниз
Скачать: CL | DM;

Имя компонента   Найти похожие ветки 

 
den74   (2004-10-09 01:07) [0]

Подскажите как программно узнать имя компонент на котором установлен focus,  и записать его в переменную string.

спасибо


 
programania ©   (2004-10-09 01:28) [1]


var
 I: Integer;
 Temp: TComponent;
 s:string;
begin
with form1 do
for I :=0 to  ComponentCount - 1 do begin
  Temp := Components[I];
  if Temp is tButton then
  if tButton(Temp).focused then s:=temp.name;
//и т.д. для всех типов что есть
end;


 
den74   (2004-10-09 01:38) [2]

Спасибо, разобрался


 
НовичОк ©   (2004-10-09 01:42) [3]

Это легко, но что делать если надо узнать имя компонента в другом приложении?


 
GanibalLector ©   (2004-10-09 01:57) [4]

но что делать если надо узнать имя компонента в другом приложении?

GetClassName


 
Германн ©   (2004-10-09 02:54) [5]

2 НовичОк ©   (09.10.04 01:42) [3]
Не забывай, что в в другом приложении может не быть "компонентов" вообще!


 
Rouse_ ©   (2004-10-09 03:41) [6]

Компонентов вообще нет, это обертки... см. [4] GanibalLector ©   (09.10.04 01:57) ы?

обычно (если по сабжу) делают так:

var
 P: TPoint;
 H: THandle;
 Buffer: array [0..255] of Char;
begin
 GetCursorPos(P);
 H:= WindowFromPoint(P);
 GetClassName(H, Buffer, SizeOf(Buffer));
 Label1.Caption := "ClassName - " + StrPas(Buffer);


 
Rouse_ ©   (2004-10-09 03:45) [7]

А, тут же фокус нужен, тогда GetFocus а не WindowFromPoint, но почитай хелп по функции и обрати внимание на потоки...


 
Юрий Зотов ©   (2004-10-09 08:41) [8]

> [0], [1], [2]
Screen.ActiveControl.Name
:о)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.042 c
3-1096365087
MakNik
2004-09-28 13:51
2004.10.24
текст SQL ошибки в приложении


9-1088280771
ALexb
2004-06-27 00:12
2004.10.24
delphix


14-1096891606
Guest
2004-10-04 16:06
2004.10.24
Перестал пахать комп, пень первый 166 MHz


6-1092036835
And
2004-08-09 11:33
2004.10.24
Как создать сессию?


3-1096013574
Aser
2004-09-24 12:12
2004.10.24
Получение конкретного поля из запроса




   Наверх