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

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 24-03-2009
Nove bb net Nove bb net is offline
Registrado
 
Registrado: mar 2009
Posts: 8
Poder: 0
Nove bb net Va por buen camino
Gracias a todos.

Realmente estaba empeñado, en que el ordn de construccion era distinto, pero.

Realmente solo pense en el formulario inicial, y no en otros secundarios, pero

Creo que esto funciona en todos los casos, por lo menos en los que he probado.

Código Delphi [-]
  Tcustompanelcentrado=class(tcustompanel)
  private
    foncanresizedelform:controls.tcanresizeevent;
    finiciado:boolean;
    procedure centrar;
  protected
  public
    constructor create(aowner:tcomponent); override;
    procedure paint; override;
    procedure canresizecompo(Sender: TObject; var NewWidth,
                             NewHeight: Integer; var Resize: Boolean);
  end;

  tpanelcentrado=class(tcustompanelcentrado);

implementation

constructor tcustompanelcentrado.create(aowner:tcomponent);
begin
  inherited create(aowner);
  finiciado:=false;
end;

procedure tcustompanelcentrado.paint;
var misterx:tcontrol;
begin
  if not finiciado then
    begin
      if not (csDesigning in ComponentState) then
        begin
          misterx:=self.Parent;
          while not(misterx is tform) do
            misterx:=misterx.Parent;

          if assigned(tform(misterx).OncanResize) then
            begin
              foncanresizedelform:=tform(misterx).oncanresize;
            end;
          tform(misterx).OnCanResize:=canresizecompo;

          centrar;

          finiciado:=true;
        end;
    end;
    inherited;
end;

procedure tcustompanelcentrado.centrar;
begin
  top:=(self.Parent.ClientHeight-height) div 2;
  left:=(self.Parent.ClientWidth-width) div 2;
end;

procedure tcustompanelcentrado.CanResizecompo(Sender: TObject; var NewWidth,
          NewHeight: Integer; var Resize: Boolean);
begin
  if assigned(foncanresizedelform) then
    foncanresizedelform(sender,newwidth,newheight,resize);
  centrar;
end;

perdon por no tenerlo puesto en una undiad independiente, es que hay otros compos.

Saludos.
Nove
Responder Con Cita
 


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
Eventos en DLL ziqabo API de Windows 1 11-06-2007 20:04:21
Eventos Walcasar OOP 2 26-10-2006 15:42:40
Eventos xerkan Firebird e Interbase 5 13-10-2003 17:21:18
Eventos de un componente... craven OOP 3 08-05-2003 16:17:51


La franja horaria es GMT +2. Ahora son las 04:20:41.


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