Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    157

    Controllo TextBox vb6

    Salve,
    sapete come rendere "trasparente" lo sfondo di una TextBox? E' possibile? dalle proprietą ho visto che č possibile solo
    impoostare un colore in una raccolta limitata.

    In pratica č possibile...e in che maniera lo si puo fare, una cosa analoga al Label nella proprieta opaco/trasparente?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    157
    A me non funziona...
    in un form ho messo una TextBox...ho inserito quella parte di codice...
    poi ho messo un frame e sopra ho messo il textBox...ma da sempre errore pur avendo impostato bianco lo sfondo del frame.

    Ma č necessario mettere un frame?

    se volessi mettere una textBox soltanto rendendola trasparente lo sfondo...come fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    157
    Sostituendo
    Frame1 con Text1 funziona...pero mi rende trasparente tutto.....anche l'immagine di sfondo che avevo inserito nel Form....come fare pre rendere trasparente solo la text1 ?

    grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    157
    Sempre che sia possibile farlo....rendere trasparentye una textBox (lo sfondo della textBost non il testo)

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao Guide,
    Il colore iniziale di sfondo dei controlli, per ottenere la trasparenza, deve essere bianco:

    codice:
    Option Explicit
    Const LWA_COLORKEY = &H1
    Const LWA_ALPHA = &H2
    Const GWL_EXSTYLE = (-20)
    Const WS_EX_LAYERED = &H80000
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
    ' -----------------------------------------------------------
    Private Sub Form_Load()
    
    ' Lo sfondo č trasparente:
        Text1.BackColor = &HFFFFFF
    ' Lo sfondo NON č trasparente:
        Text2.BackColor = &HE0E0E0
        
        Dim Ret As Long
        
        Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
        Ret = Ret Or WS_EX_LAYERED
        SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
        SetLayeredWindowAttributes Me.hWnd, 0, 128, LWA_ALPHA
        SetLayeredWindowAttributes Form1.hWnd, &HFFFFFF, 0, LWA_COLORKEY
    
    End Sub
    LM

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    157
    Grazie per quanto indicato ...ho fatto la prova....ed ho notato che forse non mi sono spiegato bene.

    Procedendo come indicato...praticamente creo "Un Buco" nel form....che mi fa vedere quello che sta sotto al form.

    Quello che io chiedo non č questo.
    Chiedo se č possibile rendere trasparente lo sfondo del text esattamente come accade in una Label (opaco o trasparente)
    La Label Non fa il "buco " nel form....č semplicemente trasparente...e questo permette che si possa vedere la parte di form che sta sotto al controllo.
    E' quello che vorrei fare io ma con un textBox perche mi permette la barra di scorrimento verticale qualora il testo sia čiu lungo dello spazio a disposizione. Cosa non fattibile da una Label.

    grazie ancora...resto in attesa.

  8. #8
    per evitare di vedere il "buco" imposta la proprieta' appearance del textbox a 0-flat , ma vedrai sempre il contorno di un pixel nero.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    157
    Ti ringrazio ma il problema resta...."si crea un buco"

    Per farmi capire meglio....
    Mettiamo caso abbia inserito uno sfondo nel form.
    se faccio come qui indicato...si crea un "buco" che mi fa vedere il testo in trasparenza...ma avendo come sfondo il desktop del pc.Non mi fa vedere l'immagine di sfondo che ho inserito nel form.

    Se invece uso una Label...opportunamente settata....non "buco" il form....riesco a vedere l'immagine usata come sfondo del form.

    Si dovrebbe trovare un sistema , se esiste, di rendere proprio lo sfondo del controllo textBox trasparente senza bucare il form.
    Rendere lo sfondo del textbox trasparente significa che nello spazio del textbox si vedrą l'immagine che io ho messo come sfondo del form.....esattamente come se non vi fosse il textbox.

    Si otterrebbe un effetto del tipo...Testo scrisso sopra l'immagine di sfondo.


    Mi chiederai...perche non usi il label.....
    si č vero lo si puo fare con un label ma come si fa ad inserire un crollbaar verticale in una label???

    grazie ancora...resto in attesa.

  10. #10
    e' un po' rustico (ma neanche tanto ) :
    potresti mettere una label in una picturebox, il cui sfondo e' reso trasparente con un codice (se cerchi nel forum lo dovresti trovare, se non lo trovi te lo posso cercare io), e poi inserire una scrollbar all'inerno della picturebox, basta impostare la proprieta' top della label = all'inverso della proprieta' Value della scrollbar per scorrere la label, quindi label1.top=-scrollbar.value.
    con i textbox non ti so aiutare, fai una prova con quello che ti ho spiegato sopra e facci sapere

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.