ListView > Größenänderung der Spalten sperren

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Nmk
Posts: 28
Joined: 20 Jan 2017, 19:29

ListView > Größenänderung der Spalten sperren

10 Apr 2017, 03:27

Moin,

besteht die Möglickkeit die Größenänderung der Spalten eines ListView zu sperren? Ich habe einige Spalten mit LV_ModifyCol(1, 0) versteckt, die nicht zum Vorschein kommen dürfen.

Gruß

Nmk
just me
Posts: 9453
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: ListView > Größenänderung der Spalten sperren

10 Apr 2017, 04:14

Moin,

ab Win Vista geht das 'relativ einfach':

Code: Select all

#NoEnv
Gui, Add, ListView, w400 r10 hwndHLV -LV0x10,1|2|3|4 ; -LV0x10 verhindert das Umsortieren von Spalten
Loop, 10
   LV_Add("", A_Index, A_Index * 2, A_Index * 3, A_Index * 4)
LV_ModifyCol()
LV_NoSizing(HLV)
Gui, Show, , Test
Return
GuiClose:
ExitApp

LV_NoSizing(HLV) {
   ; Das Styleattribut HDS_NOSIZING muss für das interne Header-Control des ListView-Controls gesetzt werden.
   HHDR := DllCall("SendMessage", "Ptr", HLV, "UInt", 0x101F, "Ptr", 0, "Ptr", 0, "UPtr") ; LVM_GETHEADER
   Control, Style, +0x0800, , ahk_id %HHDR% ; HDS_NOSIZING
}
Nmk
Posts: 28
Joined: 20 Jan 2017, 19:29

Re: ListView > Größenänderung der Spalten sperren

10 Apr 2017, 06:20

Top! Funzt! Aber "relativ einfach" .... ich weiß nicht.

Danke dir!

Nmk
just me
Posts: 9453
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: ListView > Größenänderung der Spalten sperren

10 Apr 2017, 08:34

'Relativ einfach', weil man nur ein Styleattribut setzen muss. Unter XP muss man dafür alle Mausklicks abfangen, prüfen, ob und wo im Headercontrol geklickt wurde, und ggf. die Verarbeitung des Klicks verhindern.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 100 guests