Not sure if your fixes for the above will fix my problem, but something look at anyways, I trimmed this down to just was need to reproduce the problem.
Play with the slider control and you'll see what I mean.
#include <GuiConstants.au3>;Inclusion file for the GUI interface controls
#include <GuiListView.au3>
Global $Event_On_Control
Global $Event_Code
Global Const $WM_NOTIFY = 0x004E
Global Const $DebugIt = 1
;ListView Events
Global Const $NM_FIRST = 0
Global Const $NM_LAST = (-99)
Global Const $NM_OUTOFMEMORY = ($NM_FIRST - 1)
Global Const $NM_CLICK = ($NM_FIRST - 2)
Global Const $NM_DBLCLK = ($NM_FIRST - 3)
Global Const $NM_RETURN = ($NM_FIRST - 4)
Global Const $NM_RCLICK = ($NM_FIRST - 5)
Global Const $NM_RDBLCLK = ($NM_FIRST - 6)
Global Const $NM_SETFOCUS = ($NM_FIRST - 7)
Global Const $NM_KILLFOCUS = ($NM_FIRST - 8)
Global Const $NM_CUSTOMDRAW = ($NM_FIRST - 12)
Global Const $NM_HOVER = ($NM_FIRST - 13)
Global Const $NM_NCHITTEST = ($NM_FIRST - 14)
Global Const $NM_KEYDOWN = ($NM_FIRST - 15)
Global Const $NM_RELEASEDCAPTURE = ($NM_FIRST - 16)
Global Const $NM_SETCURSOR = ($NM_FIRST - 17)
Global Const $NM_CHAR = ($NM_FIRST - 18)
Global Const $NM_TOOLTIPSCREATED = ($NM_FIRST - 19)
#endregion End Global variables
Opt("WinTitleMatchMode", 2)
$main_GUI = GUICreate("GuiRegisterMsg Test", 225, 400, 300, 10, BitOR($WS_THICKFRAME, $WS_SIZEBOX))
$Event_On_Control = GUICtrlCreateListView("Entry Name|Category", 5, 75, 195, 280, BitOR($LVS_SORTASCENDING, $LVS_SINGLESEL))
;~ $Event_On_Control = $CodeListView
_GUICtrlListViewSetColumnWidth ($Event_On_Control, 0, 100)
_GUICtrlListViewSetColumnWidth ($Event_On_Control, 1, 100)
GUICtrlSendMsg($Event_On_Control, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
GUICtrlSendMsg($Event_On_Control, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
$Trans_slider = GUICtrlCreateSlider(203, 75, 20, 280, $TBS_VERT, $WS_EX_CLIENTEDGE)
GUICtrlSetLimit($Trans_slider, 255, 62); change min/max value
GUICtrlSetData($Trans_slider, 255)
$Transparency = Int((((Int(GUICtrlRead($Trans_slider)) / 255) * 100) - 100) * - 1)
GUISetState()
;Register WM_NOTIFY events
GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")
While 1
$msg = GUIGetMsg()
Switch $msg
;-----------------------------------------------------------------------------------------
;This case statement exits and updates code if needed
Case $GUI_EVENT_CLOSE
Exit
;-----------------------------------------------------------------------------------------
;put all the misc. stuff here
Case Else
If $Transparency <> Int((((Int(GUICtrlRead($Trans_slider)) / 255) * 100) - 100) * - 1) Then
$Transparency = Int((((Int(GUICtrlRead($Trans_slider)) / 255) * 100) - 100) * - 1)
WinSetTrans($main_GUI, "", Int(GUICtrlRead($Trans_slider)))
EndIf
Switch $Event_Code
Case $NM_DBLCLK
$Event_Code = 0
ContinueLoop
Case $NM_CLICK
$Event_Code = 0
ContinueLoop
Case Else
$Event_Code = 0
EndSwitch
EndSwitch
WEnd
;
; WM_NOTIFY event handler
Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID
Local $tagNMHDR, $event
Switch $wParam
Case $Event_On_Control
$tagNMHDR = DllStructCreate("int;int;int", $lParam);NMHDR (hwndFrom, idFrom, code)
If @error Then Return
$event = DllStructGetData($tagNMHDR, 3)
Switch $event
Case $NM_CHAR
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_CHAR" & @LF)
Case $NM_CLICK
$Event_Code = $event
If $DebugIt Then ConsoleWrite ("-->$NM_CLICK" & @LF)
Case $NM_CUSTOMDRAW
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_CUSTOMDRAW" & @LF)
Case $NM_DBLCLK
$Event_Code = $event
If $DebugIt Then ConsoleWrite ("-->$NM_DBLCLK" & @LF)
Case $NM_HOVER
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_HOVER" & @LF)
Case $NM_KILLFOCUS
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_KILLFOCUS" & @LF)
Case $NM_KEYDOWN
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_KEYDOWN" & @LF)
Case $NM_NCHITTEST
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_NCHITTEST" & @LF)
Case $NM_OUTOFMEMORY
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_OUTOFMEMORY" & @LF)
Case $NM_RCLICK
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_RCLICK" & @LF)
Case $NM_RDBLCLK
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_RDBLCLK" & @LF)
Case $NM_RELEASEDCAPTURE
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_RELEASEDCAPTURE" & @LF)
Case $NM_RETURN
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_RETURN" & @LF)
Case $NM_SETCURSOR
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_SETCURSOR" & @LF)
Case $NM_SETFOCUS
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_SETFOCUS" & @LF)
Case $NM_TOOLTIPSCREATED
$Event_Code = $event
If $DebugIt Then ConsoleWrite("-->$NM_TOOLTIPSCREATED" & @LF)
EndSwitch
EndSwitch
$tagNMHDR = 0
EndFunc ;==>WM_Notify_Events