hsr///////////////////////////////////////////////////
아래처럼 OnCustomDrawItem이벤트를 써보세요
단, 그룹명관련 데이터의 Node.Level이 같다고 할경우입니다.
아래는 레벨 1일경우이며 그아래 예제는 변경후 바로 다음 인덱스인
노드가 이상해질경우 선택,보통일경우도 다시 그려주는 예제이므로 혼용해서 써보세요.
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
with TreeView1.Canvas do begin
if (Node.Level = 1) then begin
Font.Color := clBlue;
Font.Size := 10;
Brush.Color := clGray;
FillRect(Node.DisplayRect(True));
end;
end;
end;
/////////////////////
아래는 선택일때등을 고려...
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
NodeRect: TRect;
begin
with TreeView1.Canvas do begin
if (Node.Level = 1) then begin
Brush.Color := clGray;
Font.Color := clBlue;
Font.Size := 10;
end
else if (cdsSelected) in State then
Brush.Color := clNavy
else
Brush.Color := clWhite;
아래처럼 OnCustomDrawItem이벤트를 써보세요
단, 그룹명관련 데이터의 Node.Level이 같다고 할경우입니다.
아래는 레벨 1일경우이며 그아래 예제는 변경후 바로 다음 인덱스인
노드가 이상해질경우 선택,보통일경우도 다시 그려주는 예제이므로 혼용해서 써보세요.
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
with TreeView1.Canvas do begin
if (Node.Level = 1) then begin
Font.Color := clBlue;
Font.Size := 10;
Brush.Color := clGray;
FillRect(Node.DisplayRect(True));
end;
end;
end;
/////////////////////
아래는 선택일때등을 고려...
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
NodeRect: TRect;
begin
with TreeView1.Canvas do begin
if (Node.Level = 1) then begin
Brush.Color := clGray;
Font.Color := clBlue;
Font.Size := 10;
end
else if (cdsSelected) in State then
Brush.Color := clNavy
else
Brush.Color := clWhite;
NodeRect := Node.DisplayRect(True);
FillRect(NodeRect);
end;