Cita:
Empezado por adeszeus
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.