Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523

    [VB6] Verificare se un oggetto ha propietà FONT

    Ciao
    Vorrei eseguire un controllo su alcuni oggetti di un form.
    Mi piacerebbe sapere se un oggetto preso in considerazione ha la proprietà font oppure no.
    Mi spiego meglio coi fatti:

    codice:
    dim a
    for a=0 to me.controls.items.count-1
        if ????? me.controls.item(a).font ??? then
            me.controls.item(a).font="Arial"
        end if
    next a
    Come avrete ben capito voglio cambiare font a tutti i controlli di un form che contiene immagini, text, label, list, ecc..

    Per adesso uso un on error resume next.. funzionante ma alquanto bruttino!
    C'è qualcosa di più elegante?
    Al limite si può capire di che tipo è l'oggetto? così facendo fare io una discriminante..

    Grazie
    Ciao
    Andrea

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    così dovrebbe andare bene

    codice:
    Dim ctrl As Control
    
      For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Or TypeOf ctrl Is Label Then
          ctrl.Font = "Arial"
        End If
      Next
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

  3. #3
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Sì.. non è male.. provo.
    L'unica cosa è che ci sono molti altri controlli hanno font, tipo datagrid, list, combobox, ecc..

    Dovrei spulciare l'applicazione per farmi un elenco completo degli oggetti che hanno font come proprietà.

    sarebbe più bello ancora riconoscere proprio se ha o no la proprietà font..
    Ma ho paura che non si riesca!

    Ma perchè non si può scrivere:
    if ctrl.font = Null then

    oppure
    if not isnull(ctrl.font) then

    Non c'è il modo per verificare se una proprietà esiste per un determinato oggetto??
    Che strano...

    Comunque grazie 1000.. quello che mi hai postato è comunque buono.
    Ciao
    Andrea

  4. #4
    Esitono anche Oggetti che hanno un font su un altro livello per esempio TDBGrid della ComponentOne.
    codice:
    TDBGrid1.Columns.item(0).font
    In questo caso riusciresti soltanto con la soluzione precedente
    codice:
    Dim ctrl As Control
    Dim v as Variant
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Or TypeOf ctrl Is Label Then
            ctrl.Font = "Arial"
        ElseIf TypeOf ctrl Is TDBGrid Then
            For Each v In ctrl.Columns
                v.Font = "Arial"
            Next
        End If
    Next
    Fabian Dialer
    http://www.vegasw.com
    VB-5/6, VBA, SQL, WIN2K

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.