当前位置:主页>仓库管理软件> 列表

关于ListView 的问题,寻求解决思路 找客户管理软件

库存管理软件版1楼: 在窗体上放一个ListView ,怎么才能把剪切板中的内容读到当中,剪切板中的内容是文本,比如是一行一行的字符串,请高手帮忙

2楼: 找一个临时的缓冲,
过完河就拆桥,应该可以吧? 如客户管理软件

3楼: 用剪切板HOOK 当剪切板有文字时会发出消息。收到消息后读取数据给ListView

4楼: var
i: integer;
amemo: Tmemo;
begin
//首先取得剪贴板内容
amemo := Tmemo.Create(self);
amemo.Visible := false;
amemo.ParentWindow := self.Handle;
amemo.PasteFromClipboard;

//创建一个列,并设定标题
Listview1.ViewStyle := vsReport;
with Listview1.Columns.Add do Listview1.Columns[0]. caption := ''来自剪贴板的数据'';

//把剪贴板的数据添加进去
for i := 0 to amemo.Lines.Count - 1 do
with Listview1.Items.Add do Caption := amemo.Lines[i];
end;

5楼: 我上面的回答忽略了一个问题
amemo控件创建并使用后没有释放,应该在方法结束前释放amemo控件:

var
i: integer;


amemo: Tmemo;
begin
//首先取得剪贴板内容
amemo := Tmemo.Create(self);
amemo.Visible := false;
amemo.ParentWindow := self.Handle;
amemo.PasteFromClipboard;

//创建一个列,并设定标题
Listview1.ViewStyle := vsReport;
with Listview1.Columns.Add do Listview1.Columns[0]. caption := ''来自剪贴板的数据'';

//把剪贴板的数据添加进去
for i := 0 to amemo.Lines.Count - 1 do
with Listview1.Items.Add do Caption := amemo.Lines[i];

//释放前面创建的amemo控件
amemo.free;
end;

6楼: 谢谢lawler,但是我想得到是这样一个效果
剪切板要复制的内容:
英文字段名 中文字段名 字段类型
ID 唯一标识 Varchar(40)

QCJE 期初金额 Varchar(10)
QMJE 期末金额 Varchar(10)
FSJE 发生金额 Varchar(10)

那么到Listview中,也要是这种格式,请问应该怎么加SubItems,先给分,不够在给您加!
先谢谢了!

库存管理软件版7楼: 接受答案了.