Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Delphi 7 - QuickReport - TQRDBText - AutoStrecth

    Ciao a tutti,
    ho un grosso problema con gli oggetti TQRDBText utilizzati per stampare, da una band rbDetail, il contenuto di un campo inserito in un dataset.

    Ho impostato la proprietà autostrecth uguale a True.
    Di conseguenza l'oggetto è espandibile verticalmente nel caso in cui il contenuto del campo è superiore alla dimensione orizzontale dell'oggetto.
    Negli eventi beforeprint, afterprint della band proprietaria dell'oggetto, e nell'evento onprint dell'oggetto stesso ho inserito un messagedlg dove visualizzo l'height dell'oggetto.

    Sia in fase di prepare che preview del report, se l'oggetto si espande verticalmente su più righe, la proprietà height rimane invariata allo stato di design e non aumenta come in realtà fa in fase di run-time.......

    esiste una soluzione, sbaglio qualcosa, non so + che pesci prendere.

    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Due cose:
    [list=1][*]non si è capito qual è il problema;[*]togli qualsiasi MessageDlg, MessageBox e ShowMessage dagli eventi OnXXXPrint![/list=1]
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    hai ragione, mi spiego meglio

    ho impostato nella banda rbdetail un QRDBTEXT con proprietà autostrecth = true.

    Quindi se il testo supera la dimensione dell'oggetto orizzontalmente mi si espande verticalmente.

    E fin qui tutto ok.

    Il problema nasce quando devo utilizzare la proprietà height dell'oggetto: in fase di design il valore della proprietà height è 20, che corrisponde a una sola riga.

    Se il QRDBTEXT si espande su + righe, la proprietà height dell'oggetto mi resta a 20.

    Ho fatto vari test sugli eventi che sopra ho descritto dove ho mandato in output l' height dell'oggetto e resta sempre invariata.

    Devo scoprire il modo per farsì che la proprietà height vari a seconda dell'effettiva dimensione dell'oggetto.

    La height mi serve per sistemare il layout del report.

    Spero di essere stato più chiaro.
    Grazie

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    In poche parole, la proprietà Height ti serve all'interno del report per alcuni scopi ma tale proprietà non cambia il suo valore sebbene il contenuto del controllo report, dato che la proprietà AutoStretch è impostata a True, lo costringa ad aumentare l'altezza?

    I controlli report assomigliano ai controlli visuali ma non hanno necessariamente le stesse caratteristiche: probabilmente, l'altezza del controllo rimane sempre uguale ma è il motore di rendering a gestire l'autostretch spostando attraverso qualcosa di simile ad un cursore il resto dei contenuti più in basso.

    In poche parole, io vedrei di risolvere il problema (che non so) in altro modo evitando di ispezionare e modificare a runtime le proprietà dei controlli...magari fai uso di una banda, che è un elemento sensibile alla dimensione delle bande precedenti.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5

    quindi....

    mi stai dicendo che non modifica il valore di tale proprietà
    perché è un motore ad un livello + alto che esegue
    la funzione di autostrecth?
    Anche la banda Parent dell'oggetto aumenta di dimensione quando l'oggetto sta su + righe, ma la dimensione height di quest'ultima non cambia così come quella dell'oggetto......



    va beh.... grazie mille per l'aiuto....

    Ciao


    PS: ti ricordi del problema dell'OLE Container e degli allegati? l'ho risolto utilizzando una ListView......

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Re: quindi....

    Originariamente inviato da mnkt
    Anche la banda Parent dell'oggetto aumenta di dimensione quando l'oggetto sta su + righe, ma la dimensione height di quest'ultima non cambia così come quella dell'oggetto......
    Appunto... non ho capito a cosa ti serve il valore della proprietà Height, tuttavia se sei nel caso in cui devi spostare verso il basso un elemento del report in base all'altezza del controllo in esame, probabilmente puoi risolvere inserendo questo elemento in una banda che si trova direttamente sotto quella automaticamente espandibile.

    Originariamente inviato da mnkt
    PS: ti ricordi del problema dell'OLE Container e degli allegati? l'ho risolto utilizzando una ListView......
    Ottimo!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.