AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListView CheckBoxen disablen

Ein Thema von Helmi · begonnen am 1. Sep 2004 · letzter Beitrag vom 2. Sep 2004
Antwort Antwort
Robert_G
(Gast)

n/a Beiträge
 
#1

Re: ListView CheckBoxen disablen

  Alt 2. Sep 2004, 18:33
Zitat von Helmi:
C kann ich ned entziffern
Na komm schon, das war doch noch sehr simpel...


Nachdem ich mich vor ein D7 geschwungen hatte, musst ich feststellen: Da gibt's ja keinerlei Implementierung zum Abfangen eines Klicks auf die Checkboxes!

Auch ein Blick in die Soßen der VCL brachte da nichts "hübsches" hervor"
Zum Bleistift gibt es noch nicht mal einen HitTest für die CheckBoxes!
Zitat von VCL:
Delphi-Quellcode:
  THitTest = (htAbove, htBelow, htNowhere, htOnItem, htOnButton, htOnIcon,
    htOnIndent, htOnLabel, htOnRight, htOnStateIcon, htToLeft, htToRight);
Da aber die CheckBoxes wie ein StateIcon funktionieren, können wir das verwenden.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    ...
  private Indices2BeDisabled: set of 0..255;
  ...
  end;
...
procedure TfrmDoSomething;
begin
  ...
  Indices2BeDisabled := [1, 3, 5];
  ...
end;

procedure TfrmTest.lvTestChanging(Sender: TObject; Item: TListItem;
  Change: TItemChange; var AllowChange: Boolean);
begin
  AllowChange := not (TListView(Item.ListView).Checkboxes and
                      (ctState = Change ) and // StateIcon == CheckBox *g*
                      (Item.Index in Indices2BeDisabled));

end;
Damit könntest du festlegen bei welchen Items der User die CheckBox nicht setzen darf.

Nachtrag: Da der Typ SET nur 255 Elemente enthalten darf, würden damit auch nur 255 disabled Items möglich sein.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz