向各位大侠求救,如何给combobox增加分割线?(100分)

  • 主题发起人 主题发起人 hb9999
  • 开始时间 开始时间
每个Item画一条底线!
 
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
//首先把combobox1的stytle属性设为csOwnerDrawFixed
//把要添加分割线的位置设为空行
//index=2对应的是一个空行
with combobox1.Canvas do
begin
if index=2 then
begin
//8是itemheight/2
MoveTo(0, rect.Top+8);
LineTo(rect.Right,rect.Top+8);
end else
TextOut((Rect.Left+1), (Rect.Top+1),Combobox1.Items.Strings[index]);
end;
end;
 
要横的还是要竖的分隔线?
把style设成csOwnerDrawFixed或csOwnerDrawVariable,然后在DrawItem里自已画就可以了,
类似于bald_eagle的程序。
 
bald_eagle的方法可以,不过当鼠标选择时,出现了方框,不太美观,如何能不出现方框呢?
速达软件好象有这样的combobox
 
在DrawItem事件里写代码。
 
接受答案了.
 
后退
顶部