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
ListView > Größenänderung der Spalten sperren
Moderator: jNizM
Re: ListView > Größenänderung der Spalten sperren
Moin,
ab Win Vista geht das 'relativ einfach':
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
}
Re: ListView > Größenänderung der Spalten sperren
Top! Funzt! Aber "relativ einfach" .... ich weiß nicht.
Danke dir!
Nmk
Danke dir!
Nmk
Re: ListView > Größenänderung der Spalten sperren
'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.
Who is online
Users browsing this forum: No registered users and 100 guests