![]() |
D2009 : TListView -> Groups -> State lässt sich nicht ändern
Hallo @All,
eigenlich sollte man bei einer TListView (ViewStyle:vsReport & GroupView:True) über ListView.Groups[x].State das Attribut lgsCollapsed zusätzlich setzen können wenn State=[lgsCollapsible] --> State=[lgsCollapsible,lgsCollapsed]. Nur weigert sich Delphi den State to setzen. Beim Debuggen erhalte ich nach jedem Aufruf der Test Procedure immer wieder nur den State = [lgsCollapsible] (so wie defaultmässig in der IDE gesetzt). TListView.SetState wird korrekt aufgerufen und der neue state FState:=Value zugewiesen. Nur irgendwo wird das wieder rückgängig gemacht!!?? Hat einer eine Idee??? Fehlt was??? Wäre für jede Hilfe dankbar. Test Procedure:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i : integer; begin With lv do begin Items.BeginUpdate; for i := 0 to Groups.Count - 1 do begin if lgsCollapsed in Groups[i].state then begin Groups[i].state := Groups[i].state - [lgsCollapsed] end else begin Groups[i].state := Groups[i].state + [lgsCollapsed]; end; end; Items.EndUpdate; end; end; |
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Solved!!!
Delphi-Quellcode:
procedure ListViewCE(lv:TJVListView;Collapsed:boolean);
var id : Integer; res : Integer; h : HWND; col : integer; begin h := lv.Handle; if (h = 0) then exit; for id := 0 to lv.Groups.Count-1 do begin if Boolean(ListView_HasGroup(h,id)) then begin if Collapsed then col := 1 else col := 4; res := ListView_SetGroupState(h,id,LVGS_COLLAPSED,col); end; end; Application.ProcessMessages; end; |
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Zitat:
|
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Schau mal hier:
![]() |
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Zitat:
|
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Hast Du die Unit CommCtrl eingebunden?
|
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Zitat:
Hab die Unit jetzt eingebunden jetzt funktionierst einwandfrei. Danke für den Tipp. |
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Zitat:
|
AW: D2009 : TListView -> Groups -> State lässt sich nicht ändern
Ganz ehrlich? Ich hab auch schnell gesuchmaschint :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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