自己写程序添加删除 Item 吧
要是还有更好的办法,我洗耳恭听
要是还有更好的办法,我洗耳恭听
解决方案 »
- 请教一个类型转换的问题
- 获取WebBrowser中FLASH句柄问题
- 关于DevExpress V*.33版本的Skin使用问题
- 关于方便粉丝的通告!谁下的毒?
- 高手请进,急求!!!!
- (类似超链接)这样的功能怎么实现!分不是问题。
- 求助:有两个Form:Form1,Fom2。Form1是自动生成的,Form2由Form1在程序运行时Create。请问该怎么做?
- 哪有HDBGrid控件下载
- 怎样判断一个表是否存在于adoconnection1中?
- 在VB下,设计Form时,可用Line控件画线,在delphi下,设计Form时,如何画线?
- 远程数据库与delphi的连接问题
- 请问:1。如何改变API函数TextOut写出的字的颜色 2。如何使其背景透明。谢谢。
这个框框在Delphi中有现成的,选择New->Forms->Dual List Box!搞定!
启动Delphi,新建一个工程Project1,从Win32控件面板中拖放一个TListView列表视控件到窗口Form1中,将ViewStyle属性设置为vsReport,接着在ListView1中添加两个列,分别为FileName和Path。好了,列表视设置完成,现在开始在Unit1.Pas进行编码(不要忘了加入shellapi单元),具体如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, shellapi,
ComCtrls;
type
TForm1 = class(TForm)
ListView1: TListView;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
file://设置需要处理文件WM_DROPFILES拖放消息
DragAcceptFiles(ListView1.Handle, TRUE);
file://设置AppMessage过程来捕获所有消息
Application.OnMessage := AppMessage;
end;
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
nFiles, I: Integer;
Filename: string;
ListItem: TListItem;
begin
//
// 注意!所有消息都将通过这里!
// 不要在此过程中编写过多的或者需要长时间操作的代码,否则将影响程序的性能
//
// 判断是否是发送到ListView1的WM_DROPFILES消息
if (Msg.message = WM_DROPFILES) and (msg.hwnd = ListView1.Handle) then
begin
// 取dropped files的数量
nFiles := DragQueryFile (Msg.wParam, $FFFFFFFF, nil, 0);
// 循环取每个拖下文件的全文件名
try
for I := 0 to nFiles - 1 do
begin
// 为文件名分配缓冲 allocate memory
SetLength (Filename, 80);
// 取文件名 read the file name
DragQueryFile (Msg.wParam, I, PChar (Filename), 80);
Filename := PChar (Filename);
file://将全文件名分解程文件名和路径
ListItem := ListView1.Items.Add;
ListItem.Caption := ExtractFileName(FileName);
ListItem.SubItems.Add(ExtractFilePath(FileName));
end;
finally
file://结束这次拖放操作
DragFinish (Msg.wParam);
end;
file://标识已处理了这条消息
Handled := True;
end;
end;
end.
DstList->Items->Text;//所有记录
怎样取出Dstlist中第x个记录???