Ver Mensaje Individual
  #3  
Antiguo 10-11-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
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
Cita:
Empezado por adeszeus Ver Mensaje
Agregando supongamos creo el groupbox1, y este contiene el memo1, y quiero que el toolbutton1 muestre un mensaje con el contenido memo1, pero supongamos creo el groupbox16 y por logica el memo16 y el toolbutton es el toolbutton50, como hacer que me llame el contenido del memo16?
Hola adeszeus.

Una posible solución es utilizar una variable, que voy a llamar FGrupCont, que se incremente por cada grupo de componentes que hayas creado. Considerando como grupo todo lo que esté dentro del del GroupBox: ToolBar, ToolButton, Memo, etc.

Todos ellos reciben el valor de esa variable en su propiedad Tag que va a actuar como identificador único del grupo.
Luego de creado el último componente del grupo, la variable FGrupCont incrementa su valor.

Habiendo asignado en la creación al evento OnClick de los TToolButton, el procedimiento ToolButtonClick, entonces ya es sencillo:
Código Delphi [-]
procedure TForm1.ToolButtonClick(Sender: TObject);
var
  i: Integer;
begin
  for i:= ComponentCount - 1 downto 0 do
   if (Components[i] is TMemo) and (Components[i].Tag = (Sender as TToolButton).Tag) then
    ShowMessage((Components[i] as TMemo).Text);
end;

Saludos.

Última edición por ecfisa fecha: 10-11-2010 a las 05:25:06.
Responder Con Cita