1

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

2

Re: Tree view de zemin rengi

Visual Fox Pro
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)

3

Re: Tree view de zemin rengi

Visual Fox Pro
#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

4

Re: Tree view de zemin rengi

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.

5

Re: Tree view de zemin rengi

Her eklediğin eleman için renk tanımlamalısın

Visual Fox Pro
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.

6

Re: Tree view de zemin rengi

Veya:
With thisform.Tree.Nodes.Add(,1,"_2","cetinb")
.Bold = .t.
.Forecolor  = rgb(0,0,255)
.BackColor = rgb(128,128,128)
endwith

7

Re: Tree view de zemin rengi

Sorun çözüldü. İkinizede teşekkür ederim.