Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Sobre lectura de componentes (https://www.clubdelphi.com/foros/showthread.php?t=43615)

viveba 16-05-2007 02:29:06

Sobre lectura de componentes
 
Hola!!

Quisiera saber cómo puedo recuperar los datos (posición, tamaño, etc) de un control ubicado debajo del cursor en Delphi 7.

Desde ya, gracias a todos.

roman 16-05-2007 08:25:59

Utiliza la función FindVCLWindow (de la unidad Controls). Un ejemplo:

Código Delphi [-]
procedure GetControlInfo(Info: TStrings);
var
  Control: TWinControl;

begin
  Control := FindVCLWindow(Mouse.CursorPos);

  if Assigned(Control) then
  begin
    Info.Values['class'] := Control.ClassName;
    Info.Values['name'] := Control.Name;
    Info.Values['height'] := IntToStr(Control.Height);
    Info.Values['left'] := IntToStr(Control.Left);
    Info.Values['top'] := IntToStr(Control.Top);
    Info.Values['width'] := IntToStr(Control.Width);
  end;
end;

El procedimiento coloca en Info, datos acerca del control que esté bajo el cursor al momento de llamarlo. El formato de los datos es

propiedad=valor

de manera que quede cómodo pasarlo a un ValueListEditor.

// Saludos

Neftali [Germán.Estévez] 16-05-2007 11:06:34

Cita:

Empezado por roman
Control := FindVCLWindow(Mouse.CursorPos);

Esta no la conocía... :D

Bicho 16-05-2007 11:23:01

Execelente!!! :)

casi 11000 mensajes y no deja de sorprender. ;)
Yo tampoco la conocía.

Saludos

seoane 16-05-2007 13:08:27

Vaya, hay funciones para todo. Si la cosa sigue así, cualquier día crearan la función "Mata_a_flanders" :D

viveba 16-05-2007 23:24:43

Agradecimientos!!!
 
Desde ya que te debo una!!!

Muchísimas gracias, ya mismo lo probaré.


La franja horaria es GMT +2. Ahora son las 12:17:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi