Q&A

  • ListBox등에서 아이템선택시 색상변경??
안녕하세요.



ListBox, ListView, TreeView, Grid 등에서 아이템을

선택하면 진파랑색으로 역상되는데 이 진파랑색을

변경할 수 있는 방법은 없는지요???



부탁드립니다.



오늘도 즐거운 하루가 되기를.....

1  COMMENTS
  • Profile
    최용일 2000.02.26 00:54
    아이템을 그리는 이벤트를 오버라이드하여 사용하세요...

    TListBox - OnDrawItem

    TListView - OnDrawItem

    TTreeView - OnCustomDrawItem, OnAdvancedCustomDrawItem

    TStringGrid - OnDrawCell:



    다음은 리스트뷰 예제입니다.



    procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;

    Rect: TRect; State: TOwnerDrawState);

    var

    Flags: Longint;

    begin

    with ListBox1 do

    begin

    if (Index >= 0) and (odSelected in State) then

    begin

    Canvas.Brush.Color := clRed; <======== 여기에 배경색을 넣는다.

    Canvas.Font.Color := clYellow; <======== 여기에 전갱색을 넣는다.

    end;

    Canvas.FillRect(Rect);

    if Index < Items.Count then

    begin

    Flags := DrawTextBiDiModeFlags(DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX);

    if not UseRightToLeftAlignment then

    Inc(Rect.Left, 2)

    else

    Dec(Rect.Right, 2);

    DrawText(Canvas.Handle, PChar(Items[Index]), Length(Items[Index]), Rect,

    Flags);

    end;

    end;

    end;



    오인철 wrote:

    > 안녕하세요.

    >

    > ListBox, ListView, TreeView, Grid 등에서 아이템을

    > 선택하면 진파랑색으로 역상되는데 이 진파랑색을

    > 변경할 수 있는 방법은 없는지요???

    >

    > 부탁드립니다.

    >

    > 오늘도 즐거운 하루가 되기를.....