Visualizzazione dei risultati da 1 a 6 su 6

Discussione: moduli in vb6

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    36

    moduli in vb6

    salve
    nel mio progetto ho vari form, form1-form2- etc;
    in ogni form ho inserito dei richtextbox ke diventano trasparenti
    con il seguente codice inserito in tutti i form:

    codice:
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Const GWL_EXSTYLE = (-20)
    Const WS_EX_TRANSPARENT = &H20&
    
    Private Sub Form_Load()
    Dim Control As Control
    Dim result As Long
    For Each Control In Form1.Controls
        If TypeOf Control Is RichTextBox Then
        result = SetWindowLong(Control.hWnd, GWL_EXSTYLE, WS_EX_TRANSPARENT) 
    'set Richtext Box Backgroundstyle to Transparent
        
    End If
    Next Control
    
    End Sub
    per non ripetere in ogni form lo stesso codice posso usare le stesse linee di codice in un modulo?
    e come devo modificare il codice?
    grazie e buona domenica a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Trasforma la routine in una Sub pubblica che riceve come argomento il form.
    codice:
    Public Sub RtbTrasp(objForm As Form)
        ....
        For Each Control In objForm.Controls
        ....
    End Sub
    Nel Form_Load di ciascun form richiama la routine passandogli come parametro il form stesso, cioè l'oggetto Me.
    Naturalmente anche la dichiarazione della SetWindowLong con le sue costanti va spostata nel modulo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    36
    CIAO Grumpy
    nn conosco molto il vb, e molte cose sono ancora strane per me
    puoi scrivermi il codice per :

    "Nel Form_Load di ciascun form richiama la routine passandogli come parametro il form stesso, cioè l'oggetto Me."

    nn so come si fa questo procedimento e la prima volta che leggo questi termini
    ciao grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Io te lo scrivo, anche se è contrario alle mie abitudini, ma ti consiglio caldamente di comprare un buon libro e imparare le basi elementari (come questa).
    Analizziamo la frase che dici di non capire:
    Nel Form_Load di ciascun form
    codice:
    Private Sub Form_Load()
         (cioè qui) 
    End Sub
    richiama la routine passandogli come parametro il form stesso, cioè l'oggetto Me
    codice:
    RtbTrasp Me
    Risultato finale:
    codice:
    Private Sub Form_Load()
        RtbTrasp Me 
    End Sub
    Che c'è di incomprensibile?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    36
    GRAZIE Grumpy
    avevo intuito ma sbagliavo xke scrivevo il codice in questo modo
    .
    codice:
    Private Sub Form_Load()
        RtbTrasp.Me  'cioè inserivo il punto
    End Sub
    grazie ancora e scusami se hai dovuto abbandonare le tue abitudini;
    ho molti libri ma ripetono sempre le stesse cose stupide
    sto imparando leggendo i vari codici ke trovo in internet
    ciao lemac

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    RtbTrasp.Me 'cioè inserivo il punto
    E questo dimostra ancora di più che a te mancano le basi. L'uso del punto ha un significato ben preciso.
    ho molti libri ma ripetono sempre le stesse cose stupide
    Non è detto che le cose che non si comprendono siano stupide.
    sto imparando leggendo i vari codici ke trovo in internet
    No, non stai imparando, stai solo scopiazzando, sono due cose ben diverse.

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.