Modify ↓
#4090 new Bug
GUI freezes with Header subclassing in ListView
| Reported by: | Nine | Owned by: | |
|---|---|---|---|
| Milestone: | Component: | AutoIt | |
| Version: | 3.3.18.0 | Severity: | None |
| Keywords: | Cc: |
Description
It is a very basic example. It may takes a little while to get it frozen. You need to modify the size of the columns repeatedly. It happens both x86 and x64 but more often with the later.
#AutoIt3Wrapper_UseX64=y
; From Nine
#include <GuiConstants.au3>
#include <WinAPI.au3>
#include <GuiListView.au3>
Example()
Func Example()
Local $hGUI = GUICreate("Header issue", 500, 300)
Local $idListView = GUICtrlCreateListView("Items List|SubItems1|SubItems2", 10, 10, 480, 280, -1, $LVS_EX_DOUBLEBUFFER)
Local $hListView = GUICtrlGetHandle($idListView)
Local $hHeader = GUICtrlSendMsg($idListView, $LVM_GETHEADER, 0, 0)
Local $hSubClass = DllCallbackRegister(WM_NOTIFY, "lresult", "hwnd;uint;wparam;lparam;uint_ptr;dword_ptr")
_WinAPI_SetWindowSubclass($hHeader, DllCallbackGetPtr($hSubClass), 1000)
For $i = 1 To 5
GUICtrlCreateListViewItem("item" & $i & "|item" & $i & "|item" & $i , $idListview)
Next
GUISetState()
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
_WinAPI_RemoveWindowSubclass($hHeader, DllCallbackGetPtr($hSubClass), 1000)
DllCallbackFree($hSubClass)
EndFunc ;==>Example
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam, $iID, $pData)
Return _WinAPI_DefSubclassProc($hWnd, $iMsg, $wParam, $lParam)
EndFunc ;==>WM_NOTIFY
Attachments (0)
Note:
See TracTickets
for help on using tickets.
