listview中每当了选定一行时,那么我希望checkbox的属性也为真(即打上勾),当失去选定的时checkbox的属性也随之为假(即去掉勾),同样只要checkbox的属性为真(即打上勾),那么该行也就变成蓝色为选定状态,失去也就失去蓝色。使两者的状态一致,不知怎样的设置或在那里写代码。

解决方案 »

  1.   

    应该在LISTVIEW的获得加点和失去焦点里吧,还有就是CHECKBOX的CHANGE里吧
      

  2.   

    ListView1 的ONchange事件
    begin
      if ListView1.selected <> nil then 
        CheckBox1.Checked := True
      else
        CheckBox1.Checked := False;
    end;
    CheckBox1的OnChange事件
    begin
      if CheckBox1.Checked then
        ListView1.SetFocus;
    end;
    看下是你要的效果吗?
      

  3.   

    不行,我以前有试过,ListView1 的ONchange事件
    begin
      if ListView1.selected <> nil then 
        CheckBox1.Checked := True
      else        //从这里开始是编译不过去的,如只要上面的话,只是选了以后会打勾,并不变
        CheckBox1.Checked := False;
    end;
    同我用的是listview中checkbox,因此也不存在CheckBox1的OnChange事件;
      

  4.   

    to: youisbest
    begin
      if ListView1.selected <> nil then 
        CheckBox1.Checked := True
      else        //从这里开始是编译不过去的,如只要上面的话,只是选了以后会打勾,并不变
        CheckBox1.Checked := False;
    end;
    这条语句可以编译啊.怎么会编译不过去呢?
    如果使用的是listview中checkbox的,那要根据listview中checkbox中的至来判断了.变通一下就可以..