Q&A

  • combobox 에 index 별로 색깔넣는방법?
procedure TFrm8001.ComboBoxDropDown(Sender: TObject);
begin
  ComboBox8.Perform(CB_SETDROPPEDWIDTH, 150, 0);
  ComboBox8.Font.Size := 13;
end;
위처럼 하구요

procedure TFrm8001.ComboBox8DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
tw : integer;
begin
  with (Control as TComboBox).Canvas do
  begin
    TW := TextWidth(ComboBox8.items.Strings[Index] );
    font.Color := clblack;

    if (index = 0) then
    begin
      brush.Color := $00DFCAAF;
    end
    else if (index = 1) then
    begin
      brush.Color := $00BDCFCE;
    end;

    TextRect(Rect, Rect.Right - TW, Rect.Top, '');
    TextOut((Rect.Left + Rect.Right - TW) div 2, Rect.Top,
                (Control as TComboBox).Items.Strings[index]);
  end;
end;

위처럼하구요 짝수/홀수별 색깔을 ㅈ주었는데 drop 다운할때 콤보크기를 크기하는데 글씨만 커지고 박스는 ItemHeight 는 안꺼지네요  어떻게 해야하나요?

-----------------
001--------------
-------------------
002---------
----------------
이런식으로요 첫번째 item이 두번째 item과 겹처서 나오네요
부탁드립니다.



0  COMMENTS