+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

BackColor ToolBar

  1. #1
    L'avatar di Carmen
    Carmen non  in linea Scribacchino
    Post
    837
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao;

    E' possibile applicare il BackColor alla ToolBar, visto che l'unico colore risulta sempre quello di default.

    Grazie
    ℹ️ Leggi di pi su Carmen ...

  2. #2
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Post
    6,235
    Like Inviati  
    20
    Like Ricevuti  
    11
    No.

    L'unico modo sarebbe il subclassing, ma in questo caso un avventura pericolosa e tortuosa, perch il controllo Toolbar contrariamente a quanto sembra in realt costituito da DUE finestre il che equivale a 2 handle da gestire, che dialogano uno con l'altro.
    Insomma: sconsigliato assolutamente.

    Ciao
    ℹ️ Leggi di pi su gibra ...

  3. #3
    L'avatar di Carmen
    Carmen non  in linea Scribacchino
    Post
    837
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quindi devo tenermi quell'odioso colore standard?
    ℹ️ Leggi di pi su Carmen ...

  4. #4
    L'avatar di Carmen
    Carmen non  in linea Scribacchino
    Post
    837
    Like Inviati  
    0
    Like Ricevuti  
    0
    Cercando in giro o trovato questo codice. Cosa ne penzate?

    in un modulo

    Option Explicit
    
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
        ByVal hWnd1 As Long, ByVal hWnd2 As Long, _
        ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    
    Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
    
    Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" ( _
                    ByVal hwnd As Long, ByVal nindex As Long, ByVal dwnewlong As Long) As Long
    
    Public Declare Function InvalidateRect Lib "user32" _
                    (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long
    
    Public Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
    
    Public Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As Long
    
    Public Enum enuTBType
        enuTB_FLAT = 1
        enuTB_STANDARD = 2
    End Enum
    
    Private Const GCL_HBRBACKGROUND = (-10)
    
    Public Sub ChangeTBBack(TB As Object, PNewBack As Long, pType As enuTBType)
    Dim lTBWnd      As Long
    
        Select Case pType
            
            Case enuTB_FLAT     'FLAT Button Style Toolbar
                DeleteObject SetClassLong(TB.hwnd, GCL_HBRBACKGROUND, PNewBack) 'Its Flat, Apply directly to TB Hwnd
            
            Case enuTB_STANDARD 'STANDARD Button Style Toolbar
                lTBWnd = FindWindowEx(TB.hwnd, 0, "msvb_lib_toolbar", vbNullString) 'Standard, find Hwnd first
                DeleteObject SetClassLong(lTBWnd, GCL_HBRBACKGROUND, PNewBack)      'Set new Back
        End Select
    End Sub
    
    in un form con una toolbar

    Private Sub Form_Load()
        ApplyChanges
    End Sub
    
    Private Sub ApplyChanges()
        Dim LngNew As Long
        'Change Backcolor to STANDARD TB (Toolbar1)
        LngNew = CreateSolidBrush(RGB(240, 120, 120))        'Creates the background from a Color (Long)
        ChangeTBBack Toolbar1, LngNew, enuTB_FLAT
        
        'Refresh Screen to see changes
        InvalidateRect 0&, 0&, False
    End Sub
    
    ℹ️ Leggi di pi su Carmen ...

  5. #5
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Post
    6,235
    Like Inviati  
    20
    Like Ricevuti  
    11

  6. #6
    L'avatar di Carmen
    Carmen non  in linea Scribacchino
    Post
    837
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Purtroppo...
    Intendi dire che in pratica si tratta di ci di cui parlavi? Apparentemente sembra funzionare correttamente senza dare problemi.

    Magari se mi dicessi qualche tua perplessit mi aiuteresti a capire meglio.
    ℹ️ Leggi di pi su Carmen ...

  7. #7
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Post
    6,235
    Like Inviati  
    20
    Like Ricevuti  
    11

  8. #8
    L'avatar di Carmen
    Carmen non  in linea Scribacchino
    Post
    837
    Like Inviati  
    0
    Like Ricevuti  
    0
    Niente. Volevo solo il tuo parere sul codice che avevo postato, se secondo t potrebbe andare bene oppure si possono avere delle sorprese.
    ℹ️ Leggi di pi su Carmen ...

  9. #9
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Post
    6,235
    Like Inviati  
    20
    Like Ricevuti  
    11

  10. #10
    L'avatar di Carmen
    Carmen non  in linea Scribacchino
    Post
    837
    Like Inviati  
    0
    Like Ricevuti  
    0
    Si. Come dicevo funziona a meraviglia senza dare alcun problema.
    ℹ️ Leggi di pi su Carmen ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. BackColor su GotFocus
    Da AleSpi nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 28-04-2010, 13:59
  2. Problema backcolor
    Da Mercante in fiera nel forum Visual Basic 6
    Risposte: 10
    Ultimo Post: 16-04-2006, 03:07
  3. Picture1.BackColor
    Da xreme nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 03-04-2006, 11:03
  4. BackColor Oggetto (OCX)
    Da bornslippy nel forum Visual Basic 6
    Risposte: 28
    Ultimo Post: 29-09-2005, 19:20
  5. BackColor MSHFlexGrid
    Da Morpheus80 nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 23-09-2004, 18:02