Q&A

  • 체크리스트 박스에 각각의 아이템별루 색깔....
안냐세염..

체크리스트 박스를 생성후 각각의 아이템별루 색깔을 달리 주려고 합니다.

근데 그게 쉽지가 않네염..

색깔을 각각 주는 것두 그렇구여.. 그 체크 리스트 박스를 이동하거나 하면 색이 다시 변해 버리내염..

꼬옥 갈켜 주세염..

1  COMMENTS
  • Profile
    최용일 2000.09.19 00:56
    안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다.



    Style속성을 lbOwnerDrawVariable/lbOwnerDrawFixed로 하시고 OnDrawItem에서 그려주시면



    됩니다. 체크리스트박스에 아이템을 넣을때 색깔까지 같이 넣으면 더 좋겠죠...



    // 체크리스트박스에 4개의 아이템을 색깔과 함께 넣는다.

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    CheckListBox1.Items.AddObject('나는 파란 아이템', TObject(clBlue));

    CheckListBox1.Items.AddObject('나는 노란 아이템', TObject(clYellow));

    CheckListBox1.Items.AddObject('나는 빨간 아이템', TObject(clRed));

    CheckListBox1.Items.AddObject('나는 초록 아이템', TObject(clGreen));

    end;



    // 체크리스트박스의 OnDrawItem 이벤트

    procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;

    Index: Integer; Rect: TRect; State: TOwnerDrawState);

    // 더 세세히 제어하실려면 State파라매터를 이용하세요.

    begin

    with (Control as TCheckListBox).Canvas do

    begin

    Font.Color := TColor((Control as TCheckListBox).Items.Objects[Index]);

    FillRect(Rect);

    TextOut(Rect.Left + 2, Rect.Top + 2, (Control as TCheckListBox).Items[Index]);

    end;

    end;



    ^^ 항상 즐코하세요.



    Cha wrote:

    > 안냐세염..

    > 체크리스트 박스를 생성후 각각의 아이템별루 색깔을 달리 주려고 합니다.

    > 근데 그게 쉽지가 않네염..

    > 색깔을 각각 주는 것두 그렇구여.. 그 체크 리스트 박스를 이동하거나 하면 색이 다시 변해 버리내염..

    > 꼬옥 갈켜 주세염..