Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [VB6] Tabs caption

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188

    [VB6] Tabs caption

    Scusate, una banalità:
    come si fa a modificare *da codice* il caption di una SSTAB.

    Cioe' mi spiego meglio.
    Aggiungo il componente Microsoft Tabbed Dialog Control 6 e disegno il mio tab. Poi col destro apro le proprietà e porto a 6 il 'conteggio schede'.
    Ora mi piacerebbe quel TabCaption riempirlo via codice a seconda di alcuni eventi della form.

    Ho provato un po' a caso ma tutti questi tentativi danno errori:

    SSTab1.Tab(1).Caption = "Titolo"
    SSTab1.Tab1.Caption = "Titolo"
    SSTab1.Tabs(1).Caption = "Titolo"
    SSTab1.Tabs1.Caption = "Titolo"
    SSTab1.TabCaption(5) = "Titolo"

    ecc ecc

  2. #2
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322
    SSTab1.TabCaption(0) = "Pippo"
    SSTab1.TabCaption(1) = "Pluto"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Originariamente inviato da junx
    SSTab1.TabCaption(0) = "Pippo"
    SSTab1.TabCaption(1) = "Pluto"
    Run-time error '381':
    Invalid property array index

  4. #4
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322
    Tieni conto che l'array Tabs ha come primo elemento lo 0

    Quindi se ad esempio il tuo controllo ha 3 tab, il terzo avrà come indice 2.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    In effetti il numero dei tab è variabile.

    Allora il programma la prima volta che si avvia ha come numero di tab uno solo quindi il SSTab1.TabCaption(0) che posso metterci pure il titolo da interfaccia di programmazione che tanto non cambia mai.

    Quindi da codice scrivo che la prima caption si chiama PIPPO.

    Poi chiedo all'utente quante altri tab vuole.
    Lui ha da scegliere fra una serie di valori da una combo-box (quindi 5 valori rigidi) ed in base a quello che scrive, al successivo riavvio, si titrova enne tab (salvati in un INI).
    E fin qua va tutto.
    Il problema è che questi tab (che se ne ha scelti 10 sono):
    SSTab1.TabCaption(1)->SSTab1.TabCaption(11)
    (infatti SSTab1.TabCaption(0) è default ed io faccio
    SSTab1.Tabs = cmbFunzioniQuante.Text + 1) ma sinceramente questo non pensavo fosse un problema...

    Quindi io avrei scritto:

    codice:
    ' Dimensionamento SSTab
    SSTab1.Tabs = cmbFunzioniQuante.Text + 1
    Dim TitoloNum As Integer
    For TitoloNum = 1 To (cmbFunzioniQuante.Text + 1)
        SSTab1.TabCaption(TitoloNum)= TitoloNum & ". Famigliare"
    Next Titolo

  6. #6
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322
    ma alla fine ti funziona?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    No (se no non farei 'sto casino).

    Anche fuori dal ciclo for, cioe' scrivendo anche solo per test:
    codice:
    SSTab1.TabCaption(0) = "Pippo"
    SSTab1.TabCaption(1) = "Pluto"
    restituisc:

    Run-time error '381':
    Invalid property array index

  8. #8
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322
    allora, fammi capire.
    Fai una prova.

    Metti una SSTab e, senza cicli, fai in modo che abbia 3 tabs (fallo in fase di progettazione).

    Poi provi a modificare le caption da codice.

    Poi puoi postare tutto il codice, così gli do uno sguardo.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.