LIstBoxでチェックボックスを表示する方法について

解決


Jun2013  2015-03-20 07:41:45  No: 47134

XE7.1でFMXでWindowsアプリで試しています。
リストボックスの使い方についてお教えいただけませんでしょうか。

リストボックスのアイテムにチェックボックスをつけたいのですが、
以下のコードだと最初の見た目はチェックボックスが見えません。
一度スクロールさせて画面から見えなくなったものは、
スクロールさせて戻すとチェックボックスが見えるようになります。

使用方法に誤りがあるのでしょうか。
ご教授いただけませんでしょうか。
よろしくお願いします。

procedure TForm1.Button1Click(Sender: TObject);
var
  i             : integer;
  item          : TListBoxItem;
begin
  //リストをクリア
  ListBox1.Clear;
  try
      ListBox1.Items.Clear;
      ListBox1.ShowCheckboxes   :=  true;
      ListBox1.BeginUpdate;
      for i := 0 to 20 do begin
          item    :=  TListBoxItem.Create(ListBox1);
          item.StyleLookup        :=  'listboxitemnodetail';
          item.ItemData.Accessory :=  TListBoxItemData.TAccessory(0);
          item.Height             :=  44;
          item.Text               :=  'Name' + IntToStr(i);
          if odd(i) then
              item.IsChecked      :=  true;
          ListBox1.AddObject(item);
      end;
  finally
      ListBox1.EndUpdate;
  end;

end;


Jun2013  2015-03-20 07:57:23  No: 47135

>使用方法に誤りがあるのでしょうか。

正:使用方法に誤りがあると思います。

#思い込みが激しい。


山本隆  2015-04-19 09:54:30  No: 47136

XE7では一度スクロールしないとチェックボックスが表示されませんでしたが、
XE8ではスクロールしなくても正しく表示されました。
XE7の不具合の可能性が高いと思います。


Jun2013  2015-04-21 20:39:10  No: 47137

山本隆さま

いつもお世話になっています。
XE7のバグではないかとの情報ありがとうございます。

XE7では、ItemData.Accessoryの変更(3)で対処することにします。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加