Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
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
  #11  
Antiguo 26-09-2008
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 835
Poder: 24
gatosoft Va camino a la fama
Hey amigo Nebli... No, a mi no me incomoda el hecho que hagas tu aplicacion asi..... Yo solo comentaba que ya muchos hemos pasado por ahi y hemos tenido el mismo dilema....

Bueno por otro lado, si me da un tick en el ojo cuando veo que prefieres hacer el trabajo en tiempo de diseño.... Es cierto que te toca escrbir un poco mas de codigo, pero no es tanto y compensa a la hora de hacer el mantenimiento a tu codigo.... como tu mismo observas... si quieres hacer una matriz de 500 x 500 vas a tener probelmas mas adelante....

Te envio un codigo de base para que lo revises ... a lo mejor te sirve...

1) Abre un proyecto nuevo
2) pon un Boton en el formulario
3) has dobleclick sobre el boton (Se crea el evento onclick pero no hagas nada con eso)
4) sobre-escribe todo este codigo en tu Unit1...

Espero que te sirva

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    //Debes crear tu evento Onclick... Definido de la siguiente manera   
    //type TNotifyEvent = procedure (Sender: TObject) of object;
    Procedure MyOnClick(Sender: TObject);
    procedure ConstruirPaneles(objContenedor_p:TWinControl; intFilas_p, intColumnas_p:Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ConstruirPaneles(objContenedor_p:TWinControl; intFilas_p, intColumnas_p:Integer);
Var ElPanel:TPanel;
    i,j,
    intContador,
    intAncho,
    intAlto,
    intSeparacionFilas,
    intSeparacionColumnas,
    intMargenFilas,
    intMargenColumnas:Integer;
Begin

   //Valores en Pixeles
   //Juega con ellos para que veas el efecto
   intAncho:=40;
   intAlto:=40;
   intSeparacionFilas:=5;
   intSeparacionColumnas:=5;
   intMargenFilas:=50;
   intMargenColumnas:=50;

   intContador:=0; //Para manejar el Tag

   For i:=1 to intFilas_p do
     For j:=1 to intColumnas_p do
     Begin
        inc(intContador);

        ElPanel:=TPanel.Create(objContenedor_p);
        ElPanel.Name:='MyPanel_'+IntTostr(intContador);
        ElPanel.Tag:=intContador;
        ElPanel.Caption:=IntToStr(intContador);
        ElPanel.OnClick:= MyOnClick; //Asignas tu evento al evento de cada panel que crees

        ElPanel.Width:=intAncho;
        ElPanel.Height:=intAlto;
        ElPanel.Top:=(i-1) * (intAlto+intSeparacionFilas) + intMargenFilas;
        ElPanel.Left:=(j-1) * (intAncho+intSeparacionColumnas) + intMargenColumnas;
        ElPanel.Parent:=objContenedor_p;
     end;// for j
end;

Procedure TForm1.MyOnClick(Sender: TObject);
Begin
  ShowMessage('Clickeaste en el panel: '+(Sender as TPanel).Caption);
  //Pon aqui el codigo que quieras... por ejemplo para dar color a tus paneles
  //Bueno aqui utilizars el tag para algo....
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ConstruirPaneles(Self,10,12);
end;

end.

Bye

Última edición por gatosoft fecha: 26-09-2008 a las 18:07:13. Razón: Se me olvido un comentario
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
Simple: TPanel heredado que cambia de color con click. kwanbis Varios 8 26-09-2007 13:39:19
Saber cuando un Form hace un Paint José Luis Garcí OOP 13 17-09-2007 21:54:59
Como saber cuando BD fue desconectada? Luis Alberto Conexión con bases de datos 2 24-01-2006 11:16:46
Como Saber cuando Reinician la PC???? AGAG4 Varios 2 15-05-2005 08:07:31
Al dar doble click a mi aplicacion de delphi con paradox no hace nada gaescoto Tablas planas 3 23-05-2003 09:44:35


La franja horaria es GMT +2. Ahora son las 10:17:53.


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