Q&A

  • Treeview 에서 Bitmap배경위의 각Node 문자열의 투명처리?
안녕하세요...고수님들.

Treeview 에서 Bitmap 배경을 깔았습니다.

건데 배경위의 각 Node 문자열의 배경때문에

뒷부분의 Bitmap 배경이 일부 가려지게 됩니다.



이 문자열의 배경을 투명하게 하는 방법이 없는지요...

많은 시도를 해보았지만 이 짧은 머리로는 해결이 안되네요.

즉, 배경이 단일색이면 얼마든지 DrawItem 이벤트에서

Brush.color = *** 으로 가능한데 문제는 Bitmap배경입니다.



setbkmode 도 소용이 없구요..

고수님들의 많은 도움바랍니다.

1  COMMENTS
  • Profile
    최용일 2001.03.22 22:39
    안녕하세요. 최용일입니다.



    트리뷰의 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 도 소용이 없구요..

    > 고수님들의 많은 도움바랍니다.