Ver Mensaje Individual
  #3  
Antiguo 21-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A ver, intenta con esta función:

Código Delphi [-]
function DeepControlAtPos(Parent: TWinControl; Pos: TPoint): TControl;
var
  Child: TControl;

begin
  Result := Parent.ControlAtPos(Parent.ScreenToClient(Pos), false, true);

  if Assigned(Result) and (Result is TWinControl) then
  begin
    Child := DeepControlAtPos(TWinControl(Result), Pos);
    if Assigned(Child) then
      Result := Child;
  end;
end;

Pordrías usarla así en el formulario:

Código Delphi [-]
var
  Control: TControl;

begin
  Control := DeepControlAtPos(Self, Mouse.CursorPos);

  if Assigned(Control) then
    Caption := Control.ClassName
  else
    Caption := 'ninguno';
end;

// Saludos
Responder Con Cita