Q&A

  • 제발 도와주세요~~(콤보박스+체크리스트박스)
콤보박스에 나타나는 아이템에 마우스를 갖다 놓을경우 부메뉴가 나타낼려구 하는데요

소스는 이렇게 했구요

procedure TFMain.ComboBox1DrawItem(Control: TWinControl; Index: Integer;

Rect: TRect; State: TOwnerDrawState);

begin

//사용하기 전에 ComboBox의 Style을...csOwnerDraw로 맞추어야 된다.

with ComboBox1.Canvas do

begin

FillRect(Rect);

if (odSelected in State) then

begin

Brush.Color := clHighlight;

Font.Color := clHighlightText

end

else

begin

Brush.Color := clWindow;

Font.Color := clWindowText;

end;

if (odSelected in State) then

begin

CheckListBox1.Visible := Index = 0;

CheckListBox2.Visible := Index = 1;

CheckListBox3.Visible := Index = 2;

CheckListBox4.Visible := Index = 3;

Update;

end;

end;

TextOut(Rect.Left+1, Rect.Top+3, ComboBox1.Items[Index]);

end;

그리고 폼create에 체크리스트 박스를 visible를 false 했는데..쩝

이렇게 코딩을 하니까 text속성에 값을 할당 할수가 없고 아이템의 글자가 깨어지는군요...

아시는 분들 많은 조언 부탁드립니다..

그리고 이 방법말고 팝업메뉴를 써면 조금더 나아 질수 있다고 하든데..

방법좀 가르쳐 주세요

0  COMMENTS