establecer el left y el top de un laber en runtime
hola gente.
tengo almacenado en una db la posicion de los tqrdbtext. para lo cual intento establecer su posicion en runtime pero no consigo resultados. uso el evento beforeprint del qreport. aca va el codigo.: try datos.q_x.Close; datos.q_x.SQL.Text := 'select * from posiciones where banco = ' + QuotedStr( datos.q_qr.fieldbyname('banco').AsString); datos.q_x.Open; while not datos.q_x.Eof do begin tqrdbtext(FindComponent(datos.q_x.fieldbyname('label').AsString)).Left := datos.q_x.fieldbyname('left').AsInteger; tqrdbtext(FindComponent(datos.q_x.fieldbyname('label').AsString)).Top := datos.q_x.fieldbyname('top').AsInteger; tqrdbtext(FindComponent(datos.q_x.fieldbyname('label').AsString)).Parent := self; datos.q_x.Next; end; except end; |
tambien probe sin el parent := self
pero igual no anda. procedure Tqr_print.QuickRepBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); begin try datos.q_x.Close; datos.q_x.SQL.Text := 'select * from posiciones where banco = ' + QuotedStr( datos.q_qr.fieldbyname('banco').AsString); datos.q_x.Open; while not datos.q_x.Eof do begin tqrdbtext(FindComponent(datos.q_x.fieldbyname('label').AsString)).Left := datos.q_x.fieldbyname('left').AsInteger; tqrdbtext(FindComponent(datos.q_x.fieldbyname('label').AsString)).Top := datos.q_x.fieldbyname('top').AsInteger; datos.q_x.Next; end; except end; end; |
Yo tambien lo he usado tan simple como en la banda, por ejmplo del Detail en su beforeprint,
QrLabel1.top:=xx; qrLAbel1.left:=xx; dosnde xx es el valor integer del campo a leer; y me funciona, siempre que no mexedo del tamaño establecido en la banda. Un saludo desde Cnarias. |
la verdad es que no se porque no funciona. es algo bastante basico, tendrá que ver que uso delphi7 ?
|
Trata de hacerlo en e evento beforeprint de la banda a la que pertenecen los TQRLabel,
|
hola, tengo que decir que siempre funciono, el que no funcionaba era mi cerebro. el evento beforeprint de qreport es correcto y el codigo tambien. yo me eqivoque y mandaba a imprimir cheques de bancos que no tenian la configuracion en la DB, por eso.... cuando probe con los cheques de banco que habia definido, se ubicaron los tqrdbtext en el lugar correcto.
pido disculpas por hacerles perder el tiempo. hasta la proxima. |
La franja horaria es GMT +2. Ahora son las 06:51:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi