Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-12-2010
Avatar de Matorral
Matorral Matorral is offline
Miembro
 
Registrado: oct 2006
Ubicación: Ferrol-Galicia
Posts: 93
Poder: 21
Matorral Va por buen camino
Hola Rofocale.

He probado el código y también me daba el mismo error. En mi caso me lo daba porque intentaba asignar valores (left y top) a propiedades readonly de componentes que no pertenecían a la clase TControl.

He cambiado el código y ya me funciona.

Código:
 
Código Delphi [-]
procedure TPrincipal.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
var i:Integer;
var ClassRef: TClass;
var lEsControl:boolean;
begin
  for i:= 0 to ComponentCount - 1 do begin
    lEsControl:=False;
    ClassRef := Components[i].ClassType;
    while ClassRef <> nil do begin
      if ClassRef = TControl then
        lEsControl:=True;
      ClassRef := ClassRef.ClassParent;
    end;
    if lEsControl then begin
      TControl(Components[i]).Left:= 
           Round(NewWidth * TControl(Components[i]).Left / Principal.Width);
      TControl(Components[i]).Top:=  
           Round(NewHeight * TControl(Components[i]).Top / Principal.Height);
    end;
  end;
end;
Espero que no sea demasiado tarde y te sirva el código.

Un saludo.
__________________
Inieeeesssstademiviiiiidaaaaa.
Responder Con Cita
  #2  
Antiguo 08-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Matorral.

No había pensado en la posibilidad de un componente que no derive de TControl como por ejemplo TIBQuery o TDataSource.
Seguramente el error que le dá a Rofocale viene por ahi...

Se puede solucionar con una simple verificación:
Código Delphi [-]
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
var
  i:Integer;
begin
  for i:= 0 to Self.ComponentCount - 1 do
    if Components[i] is TControl then
    begin
      TControl(Components[i]).Left:=
        Round(NewWidth * TControl(Components[i]).Left / Width);
      TControl(Components[i]).Top:=
        Round(NewHeight * TControl(Components[i]).Top / Height);
    end;
end;

Un saludo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componentes sin form. rauros Varios 33 31-07-2008 09:51:44
Ayuda con componentes en form Vinicio Varios 8 13-09-2006 22:38:50
como ajustar componentes al form? crievep OOP 3 12-04-2006 21:25:43
componentes sin form coleleon OOP 1 30-11-2005 14:10:56
Ajustar un Form al ancho de un texto salvica Varios 10 01-05-2004 05:11:02


La franja horaria es GMT +2. Ahora son las 16:03:50.


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
Copyright 1996-2007 Club Delphi