delphi中如何在一个窗口使用按键修改另外一个窗口中listview中选定行的值~~~
3个回答
展开全部
假定当前form为Form1,Listview的Form为Form2:
因为一旦切换到Fomr1, Form2中的ListView就会失去焦点,此时如果用:ListView.Selected是无法得到选中的Item的。所以,你可以在Form2中定义一个全局变量(或者一个属性),在ListView的OnClick事件中加入如下代码:
public
{ Public declarations }
SelectItem: TListItem;
......
procedure TForm2.ListView1Click(Sender: TObject);
begin
if ListView1.Selected <> nil then
SelectItem := ListView1.Selected;
end;
在Form1中增加对Form2单元的引用。
Button的Onclick代码:
if (form2 <> nil) and (form2.SelectItem<> nil) then
form2.SelectItem.Caption := '修改';
因为一旦切换到Fomr1, Form2中的ListView就会失去焦点,此时如果用:ListView.Selected是无法得到选中的Item的。所以,你可以在Form2中定义一个全局变量(或者一个属性),在ListView的OnClick事件中加入如下代码:
public
{ Public declarations }
SelectItem: TListItem;
......
procedure TForm2.ListView1Click(Sender: TObject);
begin
if ListView1.Selected <> nil then
SelectItem := ListView1.Selected;
end;
在Form1中增加对Form2单元的引用。
Button的Onclick代码:
if (form2 <> nil) and (form2.SelectItem<> nil) then
form2.SelectItem.Caption := '修改';
更多追问追答
追问
还有个问题就是 我图上的窗口FORM1是在listview 所在窗口FORM2用按键SHOW出来的 我在form2中 USE了 UNIT1 在 FORM1中USE了UNIT2 然后编译的时候显示错误 该怎么改啊
追答
两个单元都不要再Interface部分加引用,改在Implementation区域中加。
implementation
uses Unit1;
展开全部
如果form1中按键修改form2中的listview:
uses Unit2;(在unit1中加入,可自动生成)
form2.listview.XXXX 即可修改其各个属性
uses Unit2;(在unit1中加入,可自动生成)
form2.listview.XXXX 即可修改其各个属性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用FORM1.listview
form2.button 区分
form2.button 区分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询