![]() |
AW: TListView - aktivieren einiger Checkboxen verhindern
In Delphi 5 das probieren:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin with ListView1.Items.Add do Caption:='abcdefg'; end; var ures1, ures2: Integer; procedure TForm1.ListView1Changing(Sender: TObject; Item: TListItem; Change: TItemChange; var AllowChange: Boolean); var i: Integer; begin if Change=ctState then begin ures1:=SendMessage(ListView1.Handle, LVM_GETITEMSTATE, i, LVIS_STATEIMAGEMASK); end; end; procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem; Change: TItemChange); var i: Integer; begin if Change=ctState then begin ures2:=SendMessage(ListView1.Handle, LVM_GETITEMSTATE, i, LVIS_STATEIMAGEMASK); if ((ures1 and LVIS_STATEIMAGEMASK) shr 12) <> ((ures2 and LVIS_STATEIMAGEMASK) shr 12) then if Item.Index=0 then Item.Checked:=False; end; end; |
AW: TListView - aktivieren einiger Checkboxen verhindern
Hallo!
JEP! Es funktioniert einwandfrei, auch mit mit D5. ;-) Ganz herzlichen Dank. Eine Bitte: kannst du evtl. noch ein zwei Worte über die If-Bedingung mit dem shr verlieren, für Bit-Operationen war ich immerschon zu doof. ;-) Und noch eine Schönheitsfrage: wenn ich eines der Elemente aktiviere, was nicht aktiviert werden darf, ist es erst aktiviert, und sobald man ein anderes selektiert, ist die Aktivierung erst weg. Geht es, dass ein solches Element, sofort, nachdem man es aktiviert hat, wieder deaktiviert wird, damit der user gleich sieht, dass es nicht geht? Ganz herzlichen Dank und herzliche Grüße Marco |
AW: TListView - aktivieren einiger Checkboxen verhindern
Zitat:
![]() Zitat:
with ListView1.Items.Add do begin Caption:='abcdefg'; Checked:=False; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 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