안녕하세요...고수님들.
Treeview 에서 Bitmap 배경을 깔았습니다.
건데 배경위의 각 Node 문자열의 배경때문에
뒷부분의 Bitmap 배경이 일부 가려지게 됩니다.
이 문자열의 배경을 투명하게 하는 방법이 없는지요...
많은 시도를 해보았지만 이 짧은 머리로는 해결이 안되네요.
즉, 배경이 단일색이면 얼마든지 DrawItem 이벤트에서
Brush.color = *** 으로 가능한데 문제는 Bitmap배경입니다.
setbkmode 도 소용이 없구요..
고수님들의 많은 도움바랍니다.
트리뷰의 OnCustomDrawItem이벤트에서 그려주시면 안돼나요?
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
NodeRect: TRect;
begin
DefaultDraw := False;
with TTreeView(Sender).Canvas do
begin
NodeRect := Node.DisplayRect(True);
Brush.Color := clNone; // 필수 셋팅... 색은 암거나 해도 상관 없을겁니다...
Brush.Style := bsClear;
TextOut(NodeRect.Left, NodeRect.Top, Node.Text);
end;
end;
노드에 포커스가 잡혔을때라던가 노드의 선같은것도 그려주어야 제대로 돼겠죠...
^^ 항상 즐코하세요...
버그 wrote:
> 안녕하세요...고수님들.
> Treeview 에서 Bitmap 배경을 깔았습니다.
> 건데 배경위의 각 Node 문자열의 배경때문에
> 뒷부분의 Bitmap 배경이 일부 가려지게 됩니다.
>
> 이 문자열의 배경을 투명하게 하는 방법이 없는지요...
> 많은 시도를 해보았지만 이 짧은 머리로는 해결이 안되네요.
> 즉, 배경이 단일색이면 얼마든지 DrawItem 이벤트에서
> Brush.color = *** 으로 가능한데 문제는 Bitmap배경입니다.
>
> setbkmode 도 소용이 없구요..
> 고수님들의 많은 도움바랍니다.