Konu: Tree view de zemin rengi
Yardımlarınız sonunda treeview 'i kendim için kabus olmaktan çıkardım. Microsoft treeview activexini kullanıyorum ama zemin rengini bir türlü değiştiremiyorum. Bunun bir yoku varmı acaba ?
Teşekkür ederim
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
fox4um » Gridler ve Diğer Kontroller » Tree view de zemin rengi
Yardımlarınız sonunda treeview 'i kendim için kabus olmaktan çıkardım. Microsoft treeview activexini kullanıyorum ama zemin rengini bir türlü değiştiremiyorum. Bunun bir yoku varmı acaba ?
Teşekkür ederim
Declare integer SendMessage in win32API ;
integer hWnd, integer Msg, integer wParam, integer lParam
TVM_SETBKCOLOR = 4381
SendMessage(thsiform.myTree.hWnd,TVM_SETBKCOLOR, 0, m.lnBackColor)
Ancak yapmani tavsiye etmem, yan etkileri cikiyor (gorsel)
#DEFINE GWL_STYLE -16
#DEFINE TVS_HASLINES 2
DECLARE LONG SendMessage IN User32 LONG nhWnd, INTEGER Msg, LONG wParam, LONG LPARAM
DECLARE INTEGER GetWindowLong IN user32 INTEGER hWnd, INTEGER nIndex
DECLARE INTEGER SetWindowLong IN user32 INTEGER hWnd, INTEGER nIndex, INTEGER dwNewLong
SendMessage(thisform.Olecontrol1.HWND, 4381, 0, RGB(250,229,147))
lngStyle = GetWindowLong(thisform.Olecontrol1.HWND, GWL_STYLE)
SetWindowLong(thisform.Olecontrol1.HWND, GWL_STYLE, lngStyle - TVS_HASLINES)
1. SendMessage ile arka planın rengini değiştirirsin
2. SetWindowLong ile + ve çizgilerin arka planı değişiyor
Evet ikiside işe çok yarıyor zeminin ve çizgilerin rengi değişiyor. Ama yazıların rengini değiştirmeyi beceremedim. Bunu daha önce denedinizmi acaba.
Her eklediğin eleman için renk tanımlamalısın
local lNode
lNode = thisform.Olecontrol1.Nodes.Add(,1,"_1","cetin")
lNode.Bold = .T.
lNode.ForeColor = RGB(255,0,0)
thisform.Olecontrol1.Nodes.Add dönüş değeri olarak eklediğin yeni elemanı verir.
Veya:
With thisform.Tree.Nodes.Add(,1,"_2","cetinb")
.Bold = .t.
.Forecolor = rgb(0,0,255)
.BackColor = rgb(128,128,128)
endwith
fox4um » Gridler ve Diğer Kontroller » Tree view de zemin rengi