Q&A

  • TreeView에서 특정Node Font,Color 바꾸기 ?????
꾸뻑
저는 지금 TreeView에 DB정보를 읽와서 넣는 작업을 하는데요..
지금 DB정보가 있으면 특정Node의 글자 색만 바꿀려고 합니다...
어떻게 하는것이 좋을지 몰라서요....
알려주세요....
2  COMMENTS
  • Profile
    KDDG_BaSTaD 2003.04.03 02:56

    ==> OnCustomDrawItem을 이용하세요.. OnAdvancedCustomDrawItem()도 있습니다.. {$DELPHI}DemosCustomDraw 밑에 데모도 있습니다. ^^;;
  • Profile
    KDDG_Hoya 2003.04.03 08:08
    ms outlook ex.. 처럼 읽지 않은 메세지가 표현되는 것과 비슷하군여..

    KDDG_BaSTaD이 좋은 답변을 해주셨네요.

    CustomDrawItem 이벤트를 이용하고 더 간단하게
    node 의 data를 활용하면 더 쉽게 할수도 있겠네여,

    node.data <- pointer에
    DB를 열어 treeview에 뿌려주면서
    여기에 특정 정보를 넣어주어
    이 정보를 가지고  CustomDrawItem 이벤트에서 적용하면 되겠네여..

      

    procedure TForm1.treeview1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      with treeview1.canvas do
        begin
          if node.data = @value then begin
               font.color := clblue;
               brush.color := clwhite;
             end else begin
               font.color := clgreen;
               brush.color := clwhite;
              end;
        end;
    end;