Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247

    [VB6] controlli su form

    Ciao a tutti.
    Il mio problema è il seguente:
    ho una form con una serie di controlli(tanti) con textbox,commandbutton,label.
    Quello che vorrei fare è riferirmi ad un controllo non con la procedura frm1.nomecontrollo.text o frm1.nomebottone.enable ma con una cosa basata sul suo handle.
    Insomma vorrei costruire una funzione che sulla base di un riferimento al controllo(in visual c si chiamano handle della finestra) ne cambia colore,testo,lo rende disabilitato.,etc.
    Questo perchè non mi và di scrivere il codice per cambiare ad esempio colore per tutti i controlli su questo form(che ne sono decisamente tanti!) più semplice creare una funzione che lo faccia per tutti.

    Spero di essere stato chiaro e ringrazio per l'aiuto.
    Andrea

  2. #2
    Ciao !
    Potresti costruirti una funzioncina ad hoc che, dato l'handle di una finestra [anche in VB si chiamano così :-))) ], restituisce un riferimento al controllo.
    Ad esempio:
    codice:
    Function GetControlByWnd(ByVal wnd As Long) As Control
      
      ' restituisce un riferimento ad un componente del form
      ' dato il suo handle
      Dim ctrl As Control
      
      For Each ctrl In Me.Controls
        Debug.Print ctrl.Name
        
        If ctrl.hWnd = wnd Then
          Set GetControlByWnd = ctrl
          Exit For
        End If
      Next
    End Function
    Unico neo: dei controlli che hai elencato, questa funzione non funge con le label... queste infatti sono window-less, ovvero: senza window.
    In pratica puoi utilizzarla solo con componenti che espongono la proprietà hWnd (handle window = hanlde della finestra)

  3. #3
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Grazie sei stato molto gentile !
    Andrea

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.