Hallo,
kann man bei einem ListView bzw DataListView das Verschieben und Resizen der Spalten sperren ohne dass ich ihn gleich auf Disabled setze?
Franz
ListView Spalten sperren
Moderator: wriedmann
ListView Spalten sperren
Hallo Franz,
du kann z.B. an DataGridViewTextBoxColumn Frozen auf TRUE setzen und Resizable auf DataGridViewTriState.False
Stefan
du kann z.B. an DataGridViewTextBoxColumn Frozen auf TRUE setzen und Resizable auf DataGridViewTriState.False
Stefan
ListView Spalten sperren
Sorry, hab vergessen zu erwähnen, dass es sich um VO 2.8 handelt!
Sind die beiden nicht .NET Bestandteile (System.Windows.Forms)?
Sind die beiden nicht .NET Bestandteile (System.Windows.Forms)?
ListView Spalten sperren
Hallo Franz,
sorry, bei VO kann ich leider nicht helfen. Da setze ich Classmate ein. Hier geht das nur global. Also keine Spalte oder alle Spalten verschieben oder in Größe ändern.
Stefan
sorry, bei VO kann ich leider nicht helfen. Da setze ich Classmate ein. Hier geht das nur global. Also keine Spalte oder alle Spalten verschieben oder in Größe ändern.
Stefan
ListView Spalten sperren
Hallo Franz,
meines Wissens nach geht das nicht.
Das hat aber nichts mit VO oder ClassMate zu tun, sondern mit dem darunterliegenden CommonControl.
Es ist schon möglich, dass man das irgendwie hinbekommt mit etwas Windows API, aber das habe ich noch nie gebraucht und demzufolge auch nicht weiter vertieft.
Die "neuen" VO-GUI-kompatiblen GUI-Klassen in VO sollten das können, denn die sind de facto Windows Forms. Mit denen habe ich aber noch mehr zu machen, über die ersten Gehversuche bin ich da noch nicht rausgekommen.
Und ich weiß nicht, ob die in der Community-Version von X# drin sind.
Wolfgang
meines Wissens nach geht das nicht.
Das hat aber nichts mit VO oder ClassMate zu tun, sondern mit dem darunterliegenden CommonControl.
Es ist schon möglich, dass man das irgendwie hinbekommt mit etwas Windows API, aber das habe ich noch nie gebraucht und demzufolge auch nicht weiter vertieft.
Die "neuen" VO-GUI-kompatiblen GUI-Klassen in VO sollten das können, denn die sind de facto Windows Forms. Mit denen habe ich aber noch mehr zu machen, über die ersten Gehversuche bin ich da noch nicht rausgekommen.
Und ich weiß nicht, ob die in der Community-Version von X# drin sind.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
ListView Spalten sperren
Geht das dann ev. im bBrowser als DataListView Ersatz?
Franz
Franz
-
- Posts: 774
- Joined: Wed May 17, 2017 8:50 am
- Location: Germany
ListView Spalten sperren
Hallo Franz,
Das "verschieben" kann man doch bereits per Painter property "Header Drag&Drop" steuern bzw. per <oLV>:HeaderDragDrop := false. Oder meinst Du da etwas anderes ? Um das "resizen" zu unterbinden müsste man an das Headercontrol der ListView ran. Probier mal das hier:
Gruß
Karl-Heinz
Das "verschieben" kann man doch bereits per Painter property "Header Drag&Drop" steuern bzw. per <oLV>:HeaderDragDrop := false. Oder meinst Du da etwas anderes ? Um das "resizen" zu unterbinden müsste man an das Headercontrol der ListView ran. Probier mal das hier:
Code: Select all
DEFINE HDS_NOSIZING := 0x0800
ACCESS HeaderSizing CLASS yourLV
LOCAL hHeader AS PTR
LOCAL lSizing := TRUE AS LOGIC
IF ( hHeader := GetWindow ( SELF:Handle(),GW_CHILD )) != NULL_PTR
IF _AND ( GetWindowLong (hHeader, GWL_STYLE) , HDS_NOSIZING ) == HDS_NOSIZING
lSizing := FALSE
ENDIF
ENDIF
RETURN lSizing
ASSIGN HeaderSizing ( lOn ) CLASS yourLV
LOCAL iStyle AS INT
LOCAL hHeader AS PTR
IF ( hHeader := GetWindow ( SELF:Handle(),GW_CHILD )) != NULL_PTR
iStyle := GetWindowLong (hHeader, GWL_STYLE)
IF lOn
iStyle := _AND(iStyle, _NOT((HDS_NOSIZING)))
ELSE
iStyle := _OR ( iStyle , HDS_NOSIZING)
ENDIF
SetWindowLong (hHeader, GWL_STYLE, iStyle )
ENDIF
RETURN VOID
Karl-Heinz
ListView Spalten sperren
Hallo Karl-Heinz,
super, das funktioniert! Über das HeaderDragAndDrop im Designer hab ich irgendwie drübergeschaut, ist mir nicht als für diesen Zweck bewußt geworden.
Vielen Dank, Franz
super, das funktioniert! Über das HeaderDragAndDrop im Designer hab ich irgendwie drübergeschaut, ist mir nicht als für diesen Zweck bewußt geworden.
Vielen Dank, Franz