高分求Delphi的有关listbox控件的一段代码

如图.要求:1.项目左侧有对应的序号2.通过按钮(即图中的上下箭头)实现项目内容的上下移动,移动时序号自上至下保持不变。像这样,用阿拉伯数字,如下:1.萝卜2.番茄3.芹... 如图.要求:1.项目左侧有对应的序号 2.通过按钮(即图中的上下箭头)实现项目内容的上下移动,移动时序号自上至下保持不变。
像这样,用阿拉伯数字,如下:
1.萝卜
2.番茄
3.芹菜
4.西兰菜
*********************
若还是不明白我的要求,请百度HI我。
展开
 我来答
己闻楣Sx
2010-11-23
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
用自绘的ListBox就行,即把ListBox.Style设置成lbOwnerDrawFixed,参考如下代码吧。

{ 窗体构造:做一些初始化操作 }
procedure TForm1.FormCreate(Sender: TObject);
begin
// 要求ListBox的条目采用自绘方法
ListBox1.Style := lbOwnerDrawFixed;
// 设置自绘的字体
ListBox1.Canvas.Font.Assign( ListBox1.Font );
{ 添加列表条目,不含序号,序号通过自绘画出 }
with Listbox1.Items do
begin
Add( '萝卜' );
Add( '番茄' );
Add( '芹菜' );
Add( '西兰菜' );
Add( '......' );
end;
end;

{ 响应“向上”按钮的点击 }
procedure TForm1.Button1Click(Sender: TObject);
begin
with ListBox1 do
begin
// 没有选中或者选中的是第一条,什么都不做
if ItemIndex <= 0 then
Exit;
Items.Exchange( ItemIndex, ItemIndex - 1 );
end;
end;

{ 响应“向下”按钮的点击 }
procedure TForm1.Button2Click(Sender: TObject);
begin
with ListBox1 do
begin
// 没有选中或者选中的是最后一条,什么都不做
if ( ItemIndex < 0 ) or ( ItemIndex = Items.Count - 1 ) then
Exit;
Items.Exchange( ItemIndex, ItemIndex + 1 );
end;
end;

{ 响应ListBox的自绘请求 }
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
LB : TListBox; // 为了书写简短而定义
C : TCanvas; // 为了书写简短而定义
S : string;
begin
LB := TListBox( Control );
C := LB.Canvas;
if ( odSelected in State ) or ( odFocused in State ) then
begin
C.Brush.Color := clNavy;
C.Font.Color := clYellow;
end
else
begin
C.Brush.Color := clWhite;
C.Font.Color := clBlack;
end;
// 画出带有序号的条目
S := Format( '%d.%s', [ Index + 1, LB.Items[ Index ] ] );
C.FillRect( Rect );
DrawText( C.Handle, PChar( s ), Length( s ), Rect, DT_SingleLine or DT_VCenter );
end;
staryy
2010-11-23
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
没看到图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
EdisonChan1982
2010-11-23
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
没看到图,也不太明白你所说的意思,你所说的序号用什么来显示的?

能再描述得详细些吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式