我想那应该是用ListBox实现的,你可以用windowfrompoint()来看看它的类。
真要写控件的话也应该继承TcustomListBox类。
放一个Listbox,一个memo,memo.lines先放一段东西。
给你一个示例,刚刚写的.
ListBox1.Style:=lbOwnerDrawVariable意思就是各个item可以有不同高度。
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
i:integer;
begin
Listbox1.canvas.FillRect(rect);
with Listbox1 do
begin
for i:=0 to memo1.Lines.Count-1 do
canvas.TextOut(1,i*15,memo1.Lines);
end;
end;
procedure TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer;
var Height: Integer);
begin
Height:=memo1.Lines.Count*15;
end;