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

    [C++ Builder] TabControl

    Premetto che non ho mai usato un TTabControl prima d'ora...

    Ho bisogno di creare diverse pagine in ogni sottomenù del tab control. Ne ho creati, per ora, tre, ma non riesco ad assegnare ad ogni singolo sottomenù (tabindex) diversi oggetti.

    Ho pensato di mettere nell'evento OnChange il seguente codice:
    codice:
    if(TabControl1->TabIndex==0)
      {Oggetto0->Visible=true;
       Oggetto1->Visible=false;
       Oggetto2->Visible=false;
      } 
    if(TabControl1->TabIndex==1)
      {Oggetto1->Visible=true;
       Oggetto0->Visible=false;
       Oggetto2->Visible=false;
      } 
    if(TabControl1->TabIndex==2)
      {Oggetto2->Visible=true;
       Oggetto0->Visible=false;
       Oggetto1->Visible=false;
      }
    Così funziona, ma speravo ci fosse un modo più veloce e soprattutto meno incasinato, perché in ogni sottomenù ho un'infinità di oggetti in posizioni strane e soprattutto molti si sovrappongono!

    Sapete aiutarmi?

  2. #2
    Mentre stavo ciappinando ( ) ho pensato che invece di disporre gli oggetti direttamente nel TabControl potrei inserirli in un panel e nascondo solo quello invece di ogni singolo oggetto...

    Esiste un'altra soluzioni usando le funzioni già predisposte dell'oggeto TabControl o no?

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Non devi usare un TabControl, ma un PageControl.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  4. #4
    Non per contradire....... come si usa???

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Entrambi i controlli TabControl e PageControl forniscono un'interfaccia a schede ed entrambi sono in grado di accettare al loro interno uno o più controlli; sono quindi dei veri e propri "contenitori".

    Tuttavia, il TabControl fornisce solo un'area client nella quale disporre un solo insieme di controlli; questo può essere utile, ad esempio, nella visualizzazione di dati attraverso una griglia o un controllo ListView che devono cambiare in base alla scheda (pagina) selezionata: è inutile duplicare l'elenco, basta intercettare la selezione della pagina e caricare i dati desiderati.

    Il controllo PageControl, invece, può contenere al suo interno una o più TabSheet, fogli che costituiscono vere e proprie pagine distinte in grado di accettare controlli visuali eterogenei; quando si seleziona una pagina, viene mostrato appunto il TabSheet relativo con i controlli in esso contenuto.

    Usare il TabSheet è facile: basta definire i nomi delle schede, inserire i controlli nell'area client e intercettare l'evento di "cambio pagina".

    Per il controllo PageControl è ancora più facile: basta fare clic con il tasto destro e aggiungere (o eliminare) le pagine desiderate (TabSheet); ciascuna pagina può essere "farcita" con i controlli desiderati, così come avviene ad esempio nelle finestre delle opzioni di alcuni programmi o nelle finestre delle proprietà.

    Ciascun TabSheet è il controllo che identifica una pagina e funge da contenitore per i controlli che intendi mettere al suo interno.

    Un suggerimento caloroso: ricordati di consultare anche la Guida in linea a fronte di problemi, poichè è ricca di informazioni ed esempi, sebbene questi siano in inglese.

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

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

  6. #6
    Molte grazie...provo immediatamete....


    La guida di C++Builder l'ho consultata parecchie volte, ma non sempre è esaustiva...

    Grazie ancora ti faccio sapere se combino qualcosa o mi impallo!

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da Ephestus
    La guida di C++Builder l'ho consultata parecchie volte, ma non sempre è esaustiva...
    Sempre sempre forse no, ma in questi casi...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  8. #8
    GRAZIE!!

    Funziona che è una meraviglia, senza considerare il fatto che viene tutto pulito e di facile comprensione!

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.