Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    34

    [delphi] bottoni di una toolbar

    salve ragazzi,
    sto aggiungendo dei bottoni creati a run-time ad una toolbar. I bottoni sono di tipo TToolButton. L'inserimento avviene sempre allineato a sinistra, ovvero un eventuale bottone precedentemente inserito viene spostato verso destra. Mi sapete dire se ce un modo per aggiungere il nuovo bottone alla destra di quelli già inseriti???

    Grazie, ciao. M.

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

    Aggiungere ToolButton dinamicamente a ToolBar

    L'effetto collaterale che denunci è dovuto al fatto che la posizione assunta da un pulsante dipende innanzitutto dalla sua posizione espressa dalle proprietà Left e Top, più che dalla posizione di inserimento.

    Se ti limiti a creare i ToolButton dinamicamente senza definire il valore della proprietà Left, ciascun pulsante assumerà la posizione ideale per la coordinata 0 (zero), che è il valore predefinito di Left, pertanto verrà messo all'inizio, e così via per tutti gli altri pulsanti.

    L'alternativa che hai è quella di generare i pulsanti in ordine inverso oppure attribuire un valore di Left alla proprietà che sia sufficientemente grande per garantire che il pulsante venga posto all'estrema destra dei pulsanti esistenti, indipendentemente dal loro numero.

    Ad esempio, potresti definire la proprietà Left attribuendole questa espressione:
    codice:
    ToolButton.Left := (ToolBar.ButtonCount * ToolBar.ButtonWidth);
    In questo modo, garantirai che il pulsante sia posizionato all'estrema destra, anche se addirittura la toolbar non dovesse essere completamente visibile, ad esempio perchè troncata dalla finestra di dimensioni più ridotte rispetto ad essa.

    Spero di averti chiarito la problematica.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    34
    Grazie Alka,

    avevo pensato anch'io ad una soluzione di questo tipo solo che mi preoccupava la presenza di divisori nel calcolo della larghezza totale. Ho però notato che anche se eccedo oltre la dimesione totale il nuovo pulsante viene comunque posto accanto all'ultimo...e dunque mi ponevo il problema inutilmente. Pensavo comunque che ci fosse un metodo che lo facesse automaticamente, visto che quando inserisco i bottoni a design time vengono automaticamente allineati a dx.

    Ti ringrazio per avermi chiarito le idee..a presto, M.

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.