Ver Mensaje Individual
  #2  
Antiguo 08-08-2011
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
Hola richy08.

Cita:
quiero asignarles un evento, pero dicho evento necesito que lleve como parametro el id
Lamentablemente no podés hacerlo de ese modo.

Pero se me ocurren dos modos de obtener el valor ID en el evento OnClick del TBitBtn.
Uno del nombre que le asignas al TBitBtn (ya que incluís el ID) . Y el segundo, que creo más simple y seguro, asignando el valor ID a la propiedad Tag del BitBtn en la creación.

Ejemplo:
Código Delphi [-]
procedure TTuForm.BitBtnClick(Sender: TObject);
var
  Valor_id: Integer;
begin
  Valor_id:= StrToInt(Copy(TBitBtn(Sender).Name, 4, MaxInt));  // extraer valor  ID del nombre
  Valor_id:= TBitBtn(Sender).Tag; // extraer valor ID de Tag
  ShowMessage(IntToStr(Valor_id)); // o lo que hagas con el valor
  ...
end;

...
begin
  Left:=8;
  top:=8;
  Qry_Line.Close;
  Qry_Line.Open;
  Seleccion:=0;
  Seleccion:=Qry_Line.RecordCount;
  While ido
  begin
     boton := TBitBtn.Create(nil);
     boton.Name:='btb'+inttostr(Qry_Line.fieldbyname('idlinea').Value);
     boton.Hint:=Qry_Line.fieldbyname('descripcion').Value;
     boton.Left:= left;
     boton.Top:=8;
     boton.Width:=81;
     boton.Height:=57;
     boton.Tag:= Qry_Line.fieldbyname('idlinea').AsInteger; // Valor ID en Tag
     ...
     boton.OnClick:= BitBtnClick;
     ...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 08-08-2011 a las 21:46:58. Razón: Agregar comentarios
Responder Con Cita