在用Delphi编写程序时发现:当ListBox(列表框)中的文本超过显示范围时就看不到文本的完整内容,这很不方便。于是决定动手解决这个问题,让鼠标指到哪里就显示哪里的全部文本内容。
一、分析问题
我们知道ListBox的Items对象中有一个Strings函数,通过指定索引可获取该索引所对应的文本。那么我们只要在OnMouseMove事件中获取当前鼠标所指的索引即可获取该索引的文本并使用Hint显示出来。因此,重点就在获取鼠标所指的索引。通过查看帮助文件,发现ListBox控件中有一个ItemAtPos函数可返回鼠标所指向的索引。找到了这个函数解决问题就容易多了。
二、解决问题
在窗体中,加入一个ListBox控件,将ShowHint属性设置为True;再添加一个CommandButton控件,Caption属性设置为“填充ListBox”。
双击Button1控件,写入下面的代码:
procedure TForm1.Button1Click(Sender:TObject);
//用显示System目录中的文件来填充ListBox
var
SearchRec: TSearchRec;
nResult: Integer;
const
szFilePath = 'd:\windows\system32\*.*';
begin
//填充ListBox
ListBox1.Clear;
nResult:[1] [2] [3] [4] [5] 下一页
|
|