Newsgroup: it.comp.lang.visual-basic
Titolo: Coolbar : ma come si usa?

Salve a tutti,
    qualcuno sa come si usa la coolbar del controllo ComCtl332.ocx ? Come si
aggiungono i vari pulsantini ?  Visto che nel programma di installazione del
controllo non c'era, dove posso reperire il file di help?
Grazie,
        Francesco Fantoni
 
fanto...@tin.it

controllo non c'era, dove posso reperire il file di help?
Il controllo Coolbar non ha pulsanti, ma solo una collection di oggetti
Bands, ognuno dei quali accetta un unico oggetto Child.
Per avere una Coolbar coi pulsanti devi creare la Coolbar, poi inserirvi
sopra una Toolbar e definire quest'ultima come l'oggetto Child di una delle
Bands.
Scusa se la spiegazione è un po' stringata, ma vado di fretta....
Zeross

Bands.
Grazie. Perň come si fa realizzare quell'effetto di Windows 98/Internet
Explorer 4 che evidenzia i pulsantini quando si passa sopra con il mouse ?
Ho letto su una rivista che in C si crea la toolbar passando lo stile
TBSTYLE_FLAT(&H800). Ho provato allora a cambiare lo stile della toolbar con
la SetWindowsLong ma non funziona:
style = GetWindowLong(Toolbar1.hwnd, GWL_STYLE)
 SetWindowLong Toolbar1.hwnd, GWL_STYLE, style Or &H800
Ho il sospetto che l'ocx delle Common Control 2 che contiene la Toolbar non
abbia questi stili..Sbaglio?? Se si dove posso reperire il nuovo OCX??
Ringrazio anticipatamento per ogni suggerimento..
    Francesco Fantoni
 
fanto...@tin.it

Non funziona perché in realtà la toolbar di VB è un contenitore per la vera
toolbar. Usa questa funzione (scaricata dal sito comune) e vedrai che
funziona:
Sub SetFlatToolbar(TB As ComctlLib.ToolBar)
    Const TBSTYLE_FLAT = &H800
    Dim hwnd As Long
    'prende l'hwnd dell'oggetto figlio
    hwnd = GetWindow(TB.hwnd, GW_CHILD)
    Call SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) Or
TBSTYLE_FLAT)
End Sub
P.S.
Già che ci sei, puoi provare se a te funziona l'effetto TRANSPARENT (usa una
copia della stessa funzione con la costante TBSTYLE_TRANSPARENT = &H800&). A
me non funziona e non so come mai... fammi sapere

    
fanto...@tin.it

me non funziona e non so come mai... fammi sapere
Lo stile Flat funziona ( e ti ringrazio) ma la trasparenza no...e ho qualche
dubbio a riguardo...la Tbstyle_Trasparent è uguale a &h800 oppure a &h8000
come invece hai scritto in un altro messaggio?? In un rivista ho trovato che
la costante è &h800 ma questo è anche il valore della costante Tbstyle_Flat
!? Quindi deduco che si tratta dello stile di un'altra Window. E lo
confermerebbe l'articolo della rivista stessa in cui si dice che per
realizzare la trasparenza si deve definire una finestra che a sua volta
diventerà padre della toolbar e che non fa altro che disegnare il suo
background..Però non dice altro, nè di che finestra si tratti nè come
fare..Ma forse intende semplicemente la coolbar...Boh! Il tutto è poco
chiaro...
    Francesco Fantoni
 
fanto...@tin.it

Mi devi scusare, ma ho sbagliato a scriverti la mail: la costante vale
&H8000.
Va però usata in combinazione con TBSTYLE_FLAT = &H800.
Non sono riuscito ad usarla direttamente, ma ho trovato un esempio da usare
per le coolbar in cui viene impostato e funziona correttamente. Non sono
riuscito a capire bene come fa a funzionare. Appena ci riesco posto la
soluzione.
Se ci riesci prima tu, fai lostesso :-)