Newsgroup: it.comp.lang.visual-basic
Titolo: [TreeView] Cambiare il colore di sfondo

Ciao, mi rivolgo a Sebamix (che ultimamente ho visto darsi alla
manipolazione degli oggetti classici) e a tutti gli altri...
Allora: ultimamente sto cercando di abbellire il programma, ma con rammarico
ho notato
che il TreeView non ha una proprietą in cui si possa cambiare il BackColor
(si setta su quel bianco sporco che ultimamente mi sta irritando....).
Allora tramite qualche Api
SendMessage, SetWindowLong, Ecc... + Costante posso cambiarlo?
Ciao a tutti
Oz

Sì, è vero...
ultimamente mi sono messo a modificare (o almeno a tentare ;) gli oggetti
classici. Con alcuni però non ho avuto moltissima fortuna...
Io uso le API GetWindowLong e SetWindowLong
Con quelle puoi togliere o mettere gli stili. Per molti controlli hai però
le relative proprietà.
Penso che dovresti concentrarti su SendMessageLong o qualcosa del genere...
A proposito... come faccio a far diventare flat un ComboBox, un DataCombo e
una DataList??? Sono disperato...
P.S. Just 4 Fun...
Avete provato questa:
Private Const GWL_STYLE = (-16)
Public Const WS_MINIMIZEBOX = &H20000
Public Const WS_MAXIMIZEBOX = &H10000
Public Const WS_MINIMIZE = &H20000000
Public Const WS_THICKFRAME = &H40000
Public Const WS_SYSMENU = &H80000
Public Const WS_CAPTION = &HC00000
Public Const WS_OVERLAPPED = &H0&
Public Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or
WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
Public Const WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
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
Public Sub subCool(ListObj As Object)
    Dim dwStyle As Long
    dwStyle = GetWindowLong(ListObj.hWnd, GWL_STYLE)
    'MsgBox dwStyle
    dwStyle = dwStyle And (Not WS_BORDER) Or WS_TILEDWINDOW
    'dwStyle = dwStyle And (Not WS_BORDER) Or WS_POPUP
    SetWindowLong ListObj.hWnd, GWL_STYLE, dwStyle
End Sub
Gli passate una ListBox... :)
Ah, solo sul form load! ;;;)))
CiaoZ
SebaMix

Che storiaccia assurda, carina la cosa...
Appena ho un secondo provo e se mai ti/vi faccio sapere.
Ciao
Oz

| Private Const GWL_STYLE = (-16)
| Public Const WS_MINIMIZEBOX = &H20000
| Public Const WS_MAXIMIZEBOX = &H10000
| Public Const WS_MINIMIZE = &H20000000
| Public Const WS_THICKFRAME = &H40000
| Public Const WS_SYSMENU = &H80000
| Public Const WS_CAPTION = &HC00000
| Public Const WS_OVERLAPPED = &H0&
| Public Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or
| WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
| Public Const WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
[...]
| Public Sub subCool(ListObj As Object)
[...]
|     dwStyle = dwStyle And (Not WS_BORDER) Or WS_TILEDWINDOW
[...]
Ma WS_BORDER quanto vale?????????

Opppssss...
Public Const WS_BORDER = &H800000
CiaoZ
SebaMix

 ha scritto nel messaggio
news:9e0ofe$dlkn$1...@ID-66833.news.dfncis.de...
| Opppssss...

Strano che ti sia andato in crash l'IDE... hai riprovato?
Lo scopo di tutto era appunto far diventare una finestrella la listbox... :)
CiaoZ
SebaMix

 >View) which doesn't have a back color property,so hope this might
work(? ).

 BackColor
meglio che non la abbia, secondo il mio modesto parere. Se vedo un 
treeview con un colore diverso, so gią a colpo sicuro che il programma č 
stato scritto 1) in Visual C++ con le MFC, oppure 2) in VB. Credo che la  
cosa abbia un senso