一个初级的问题(100分)

  • 主题发起人 主题发起人 pegasus1
  • 开始时间 开始时间
P

pegasus1

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何在listbox里画直线,如果不行,有没有控件,既可以输出文本,又可以画直线。
 
将listbox的style属性设为owndraw就行了
下面的例子在奇数行画线,偶数行输出文本。
procedure TForm1.ListBox1DrawItem(Control: TWinControl;
Index: Integer;
Rect: TRect;
State: TOwnerDrawState);
begin
if Index mod 2 =0 then
begin
ListBox1.Canvas.MoveTo(rect.Left,rect.top);
ListBox1.Canvas.LineTo(rect.right,rect.Bottom);
end else
listbox1.Canvas.TextRect(rect,rect.left,rect.top,ListBox1.Items[index]);
end;
 
同意menxin
 
如果想随便画的话,用 GetDC(aListBox.Handle);
然后就随便画。
 
多人接受答案了。
 
后退
顶部