<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.autoitscript.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kyo</id>
	<title>AutoIt Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.autoitscript.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kyo"/>
	<link rel="alternate" type="text/html" href="https://www.autoitscript.com/wiki/Special:Contributions/Kyo"/>
	<updated>2026-04-06T09:34:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=Snippets_(_GUI_)&amp;diff=13254</id>
		<title>Snippets ( GUI )</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=Snippets_(_GUI_)&amp;diff=13254"/>
		<updated>2015-11-20T12:31:42Z</updated>

		<summary type="html">&lt;p&gt;Kyo: /* GUI With Scrollable TabItem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
[[category:Snippets]]&lt;br /&gt;
&lt;br /&gt;
{{Snippet Credit Header}}&lt;br /&gt;
&lt;br /&gt;
== _AlwaysOnTop ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;ButtonConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local Const $hGUI = GUICreate(&amp;quot;_AlwaysOnTop()&amp;quot;, 200, 200, -1, -1)&lt;br /&gt;
&lt;br /&gt;
    Local Const $iControlID = GUICtrlCreateCheckbox(&amp;quot;Always On Top&amp;quot;, 5, 10, 85, 25, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_PUSHLIKE, $WS_TABSTOP))&lt;br /&gt;
&lt;br /&gt;
    GUISetState(@SW_SHOWNORMAL, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    While 1&lt;br /&gt;
        Switch GUIGetMsg()&lt;br /&gt;
            Case $GUI_EVENT_CLOSE&lt;br /&gt;
                Exit&lt;br /&gt;
            Case $iControlID&lt;br /&gt;
                _AlwaysOnTop($hGUI, $iControlID)&lt;br /&gt;
        EndSwitch&lt;br /&gt;
    WEnd&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
Func _AlwaysOnTop(Const $hHandle, Const $iControlID)&lt;br /&gt;
    Local $iState = 0&lt;br /&gt;
&lt;br /&gt;
    If GUICtrlRead($iControlID) = $GUI_CHECKED Then&lt;br /&gt;
        $iState = 1&lt;br /&gt;
    EndIf&lt;br /&gt;
&lt;br /&gt;
    WinSetOnTop($hHandle, &amp;quot;&amp;quot;, $iState)&lt;br /&gt;
&lt;br /&gt;
    Return $iState&lt;br /&gt;
EndFunc   ;==&amp;gt;_AlwaysOnTop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Animate Display ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 5725-raindancer&lt;br /&gt;
 | AuthorName = Raindancer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Animate Display&lt;br /&gt;
; Author Raindancer&lt;br /&gt;
&lt;br /&gt;
Global Const $hwnd = GUICreate(&amp;quot;Animate Window&amp;quot;, 300, 300)&lt;br /&gt;
&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00080000) ; fade-in&lt;br /&gt;
&lt;br /&gt;
GUISetState(@SW_SHOWNORMAL)&lt;br /&gt;
&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00090000) ; fade-out&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040001) ; slide in from left&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050002) ; slide out to left&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040002) ; slide in from right&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050001) ; slide out to right&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040004) ; slide-in from top&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050008) ; slide-out to top&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040008) ; slide-in from bottom&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050004) ; slide-out to bottom&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040005) ; diag slide-in from Top-left&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x0005000a) ; diag slide-out to Top-left&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040006) ; diag slide-in from Top-Right&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050009) ; diag slide-out to Top-Right&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040009) ; diag slide-in from Bottom-left&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050006) ; diag slide-out to Bottom-left&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x0004000a) ; diag slide-in from Bottom-right&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050005) ; diag slide-out to Bottom-right&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00040010) ; explode&lt;br /&gt;
DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;AnimateWindow&amp;quot;, &amp;quot;hwnd&amp;quot;, $hwnd, &amp;quot;int&amp;quot;, 1000, &amp;quot;long&amp;quot;, 0x00050010) ; implode&lt;br /&gt;
&lt;br /&gt;
#define AW_HOR_POSITIVE		0x00000001&lt;br /&gt;
#define AW_HOR_NEGATIVE		0x00000002&lt;br /&gt;
#define AW_VER_POSITIVE		0x00000004&lt;br /&gt;
#define AW_VER_NEGATIVE		0x00000008&lt;br /&gt;
#define AW_CENTER			0x00000010&lt;br /&gt;
#define AW_HIDE				0x00010000&lt;br /&gt;
#define AW_ACTIVATE         0x00020000&lt;br /&gt;
#define AW_SLIDE            0x00040000&lt;br /&gt;
#define AW_BLEND            0x00080000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Center Window on Screen ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 4920-valuater&lt;br /&gt;
 | AuthorName = Valuater&lt;br /&gt;
 | AuthorURL2 = 9669-cdkid&lt;br /&gt;
 | AuthorName2 = cdkid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Center Window on Screen&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global Const $GUI = GUICreate(&amp;quot;Test Window&amp;quot;,300 ,300 ,100 ,100)&lt;br /&gt;
&lt;br /&gt;
GUISetState(@SW_SHOWNORMAL)&lt;br /&gt;
&lt;br /&gt;
Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
_Middle($GUI, &amp;quot;Test Window&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
	Switch GUIGetMsg()&lt;br /&gt;
		Case $GUI_EVENT_CLOSE&lt;br /&gt;
			ExitLoop&lt;br /&gt;
	EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func _Middle(Const $win, Const $txt)&lt;br /&gt;
    Local Const $size = WinGetClientSize($win, $txt)&lt;br /&gt;
&lt;br /&gt;
    Local Const $y = (@DesktopHeight / 2) - ($size[1] / 2)&lt;br /&gt;
&lt;br /&gt;
    Local Const $x = (@DesktopWidth / 2) - ($size[0] / 2)&lt;br /&gt;
&lt;br /&gt;
    Return WinMove($win, $txt, $x, $y)&lt;br /&gt;
EndFunc  ;==&amp;gt;_Middle&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _ChildActivate ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 71214-mkish&lt;br /&gt;
 | AuthorName = MKISH&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;WinAPI.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
_ChildActivate(&amp;quot;Main Window Title&amp;quot;, &amp;quot;Child Window Title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
; Set focus to Child-Window of a GUI&lt;br /&gt;
Func _ChildActivate(Const $appTitle, Const $formName)&lt;br /&gt;
    Local Const $hWnd = WinGetHandle($appTitle, $formName)&lt;br /&gt;
&lt;br /&gt;
    Local $array = WinList($appTitle)&lt;br /&gt;
&lt;br /&gt;
	#forceref $array&lt;br /&gt;
&lt;br /&gt;
    WinActive($hWnd)&lt;br /&gt;
&lt;br /&gt;
    Local Const $winarray = _WinAPI_EnumWindows(True, $hWnd)&lt;br /&gt;
&lt;br /&gt;
    Local $title&lt;br /&gt;
&lt;br /&gt;
	For $i = 1 to $winarray[0][0]&lt;br /&gt;
        $title = _WinAPI_GetWindowText($winarray[$i][0])&lt;br /&gt;
&lt;br /&gt;
		If ($title == $formName) or ($title == $formName &amp;amp; &amp;quot; *&amp;quot;) Then&lt;br /&gt;
            _WinAPI_ShowWindow($winarray[$i][0], @SW_MAXIMIZE)&lt;br /&gt;
            _WinAPI_ShowWindow($winarray[$i][0], @SW_SHOWNORMAL)&lt;br /&gt;
        EndIf&lt;br /&gt;
    Next&lt;br /&gt;
EndFunc ;&amp;gt;&amp;gt;&amp;gt; _ChildActivate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _ControlMove ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 38576-melba23&lt;br /&gt;
 | AuthorName = Melba23&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global Const $SC_MOVE = 0xF010&lt;br /&gt;
&lt;br /&gt;
Global Const $hGUI = GUICreate(&amp;quot;Test&amp;quot;, 300, 200)&lt;br /&gt;
&lt;br /&gt;
Globa Const $cLabel = GUICtrlCreateLabel(&amp;quot;Move me&amp;quot;, 100, 50, 60, 20)&lt;br /&gt;
&lt;br /&gt;
GUICtrlSetBkColor($cLabel, 0x00FF00)&lt;br /&gt;
&lt;br /&gt;
GUISetState(@SW_SHOWNORMAL)&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
    Switch GUIGetMsg()&lt;br /&gt;
        Case $GUI_EVENT_CLOSE&lt;br /&gt;
            Exit&lt;br /&gt;
        Case $GUI_EVENT_PRIMARYDOWN&lt;br /&gt;
            _ControlMove($cLabel)&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func _ControlMove(Const $cID)&lt;br /&gt;
    Local Const $aCurPos = GUIGetCursorInfo()&lt;br /&gt;
&lt;br /&gt;
    If @error Then Return False&lt;br /&gt;
&lt;br /&gt;
    If $aCurPos[4] = $cID Then&lt;br /&gt;
        GUICtrlSendMsg($cID, $WM_SYSCOMMAND, BitOR($SC_MOVE, $HTCAPTION), 0)&lt;br /&gt;
    EndIf&lt;br /&gt;
EndFunc   ;==&amp;gt;_ControlMove&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Custom Tabs ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 20477-mrcreator&lt;br /&gt;
 | AuthorName = MrCreatoR&lt;br /&gt;
 | AuthorURL2 = 14325-kickassjoe&lt;br /&gt;
 | AuthorName2 = Kickassjoe&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Custom Tabs - controlled by a label, pic, etc&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;GUIConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GUICreate(&amp;quot;Test&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Global $TabSwitcher[2]&lt;br /&gt;
&lt;br /&gt;
Global Const $TabSwitcher1 = GUICtrlCreateLabel(&amp;quot;Tab One&amp;quot;, 10, 10,60,20, $SS_SUNKEN +$SS_CENTER+ $SS_CENTERIMAGE)&lt;br /&gt;
GUICtrlSetBkColor(-1, 0xf0f0f0)&lt;br /&gt;
GUICtrlSetColor(-1, 0x000000)&lt;br /&gt;
&lt;br /&gt;
Global Const $TabSwitcher2 = GUICtrlCreateLabel(&amp;quot;Tab Two&amp;quot;, 72, 10,60,20, $SS_SUNKEN +$SS_CENTER+ $SS_CENTERIMAGE)&lt;br /&gt;
GUICtrlSetBkColor(-1, 0xc0c0c0)&lt;br /&gt;
GUICtrlSetColor(-1, 0x000000)&lt;br /&gt;
&lt;br /&gt;
Global Const $tab = GUICtrlCreateTab(10,40, 200, 200) ; can be placed anywhere, doesnt matter, not visible&lt;br /&gt;
GUICtrlSetState($tab, $GUI_HIDE)&lt;br /&gt;
&lt;br /&gt;
Global Const $tab1 = GUICtrlCreateTabItem(&amp;quot;tab1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
GUICtrlCreateButton(&amp;quot;button on tab 1&amp;quot;, 10, 70)&lt;br /&gt;
&lt;br /&gt;
Global Const $tab2 = GUICtrlCreateTabItem(&amp;quot;tab2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
GUICtrlCreateButton(&amp;quot;button on tab 2&amp;quot;, 10, 70)&lt;br /&gt;
&lt;br /&gt;
GUISetState(@SW_SHOWNORMAL)&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
    Switch GUIGetMsg()&lt;br /&gt;
        Case $TabSwitcher1&lt;br /&gt;
            If GUICtrlRead($tab, 1) = $tab1 Then ContinueLoop ; To prevent the flickering and second state set.&lt;br /&gt;
            GUICtrlSetState($tab1, $GUI_SHOW)&lt;br /&gt;
            GUICtrlSetBkColor($TabSwitcher1, 0xf0f0f0)&lt;br /&gt;
            GUICtrlSetColor($TabSwitcher1, 0x000000)&lt;br /&gt;
            GUICtrlSetBkColor($TabSwitcher2, 0xc0c0c0)&lt;br /&gt;
            GUICtrlSetColor($TabSwitcher2, 0x000000)&lt;br /&gt;
&lt;br /&gt;
        Case $TabSwitcher2&lt;br /&gt;
            If GUICtrlRead($tab, 1) = $tab2 Then ContinueLoop ; To prevent the flickering and second state set.&lt;br /&gt;
            GUICtrlSetState($tab2, $GUI_SHOW)&lt;br /&gt;
            GUICtrlSetBkColor($TabSwitcher1, 0xc0c0c0)&lt;br /&gt;
            GUICtrlSetColor($TabSwitcher1, 0x000000)&lt;br /&gt;
            GUICtrlSetBkColor($TabSwitcher2, 0xf0f0f0)&lt;br /&gt;
            GUICtrlSetColor($TabSwitcher2, 0x000000)&lt;br /&gt;
&lt;br /&gt;
        Case $GUI_EVENT_CLOSE&lt;br /&gt;
            Exit&lt;br /&gt;
        Case Else&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Disable All Column Headers ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 38576-melba23&lt;br /&gt;
 | AuthorName = Melba23&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiListView.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
_Main()&lt;br /&gt;
&lt;br /&gt;
Func _Main()&lt;br /&gt;
    Local $hGUI = GUICreate(&amp;quot;ListView Set Column Width&amp;quot;, 400, 300)&lt;br /&gt;
    Local $hListView = GUICtrlCreateListView(&amp;quot;Column 1|Column 2|Column 3|Column 4&amp;quot;, 2, 2, 394, 268)&lt;br /&gt;
    GUISetState()&lt;br /&gt;
&lt;br /&gt;
    ; Prevent resizing of columns&lt;br /&gt;
    ControlDisable($hGUI, &amp;quot;&amp;quot;, HWnd(_GUICtrlListView_GetHeader($hListView)))&lt;br /&gt;
&lt;br /&gt;
    ; Loop until user exits&lt;br /&gt;
    Do&lt;br /&gt;
    Until GUIGetMsg() = $GUI_EVENT_CLOSE&lt;br /&gt;
EndFunc   ;==&amp;gt;_Main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Disable Specific Column Headers ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 38576-melba23&lt;br /&gt;
 | AuthorName = Melba23&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiListView.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;HeaderConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; The 0-based column to be disabled&lt;br /&gt;
Global $iFix_Col&lt;br /&gt;
&lt;br /&gt;
_Main()&lt;br /&gt;
&lt;br /&gt;
Func _Main()&lt;br /&gt;
    Local Const $hGUI = GUICreate(&amp;quot;ListView Fix Column Width&amp;quot;, 400, 300)&lt;br /&gt;
&lt;br /&gt;
    Local Const $hListView = GUICtrlCreateListView(&amp;quot;Column 0|Column 1|Column 2|Column 3&amp;quot;, 2, 2, 394, 268)&lt;br /&gt;
&lt;br /&gt;
    GUISetState(@SW_SHOWNORMAL)&lt;br /&gt;
&lt;br /&gt;
    ; Prevent resizing of column 1&lt;br /&gt;
    $iFix_Col = 1&lt;br /&gt;
&lt;br /&gt;
    GUIRegisterMsg($WM_NOTIFY, &amp;quot;_WM_NOTIFY&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    ; Loop until user exits&lt;br /&gt;
    Do&lt;br /&gt;
    Until GUIGetMsg() = $GUI_EVENT_CLOSE&lt;br /&gt;
EndFunc   ;==&amp;gt;_Main&lt;br /&gt;
&lt;br /&gt;
Func _WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)&lt;br /&gt;
    #forceref $hWnd, $iMsg, $wParam&lt;br /&gt;
&lt;br /&gt;
    ; Get details of message&lt;br /&gt;
    Local Const $tNMHEADER = DllStructCreate($tagNMHEADER, $lParam)&lt;br /&gt;
&lt;br /&gt;
    ; Look for header resize code&lt;br /&gt;
    Local Const $iCode = DllStructGetData($tNMHEADER, &amp;quot;Code&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    Switch $iCode&lt;br /&gt;
        Case $HDN_BEGINTRACKW&lt;br /&gt;
            ; Now get column being resized&lt;br /&gt;
            Local $iCol = DllStructGetData($tNMHEADER, &amp;quot;Item&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
            If $iCol = $iFix_Col Then&lt;br /&gt;
                ; Prevent resizing&lt;br /&gt;
                Return True&lt;br /&gt;
            Else&lt;br /&gt;
                ; Allow resizing&lt;br /&gt;
                Return False&lt;br /&gt;
            EndIf&lt;br /&gt;
    EndSwitch&lt;br /&gt;
EndFunc   ;==&amp;gt;_WM_NOTIFY&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _Flash ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Change the background color of the GUI to a specified color&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WinAPI.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local Const $bGreen = 0x00FF00&lt;br /&gt;
&lt;br /&gt;
    Local Const $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
    GUISetState(@SW_SHOWNORMAL, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    If MsgBox(4 + 4096, &#039;&#039;, &#039;The following example contains flashing images.  If you are sensitive to such things then please select &amp;quot;No&amp;quot;.&#039; &amp;amp; @CRLF &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
            &#039;Do you want to continue?&#039;) = 7 Then&lt;br /&gt;
        Return 0&lt;br /&gt;
    EndIf&lt;br /&gt;
&lt;br /&gt;
    ; Change the background color of the GUI to a specified color and then back to the default grey.&lt;br /&gt;
    For $i = 1 To 2&lt;br /&gt;
        _Flash($hGUI, $bGreen)&lt;br /&gt;
        Sleep(100)&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    ; Wait for 1 second to show the background color is changed to the default grey.&lt;br /&gt;
    Sleep(1000)&lt;br /&gt;
&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
Func _Flash(Const $hWnd, Const $bColor)&lt;br /&gt;
    For $A = 1 To 2&lt;br /&gt;
        If Mod($A, 2) Then ; Odd.&lt;br /&gt;
            GUISetBkColor($bColor, $hWnd)&lt;br /&gt;
        Else ; Even.&lt;br /&gt;
            GUISetBkColor(_WinAPI_GetSysColor($COLOR_MENU), $hWnd)&lt;br /&gt;
        EndIf&lt;br /&gt;
&lt;br /&gt;
        Sleep(100)&lt;br /&gt;
    Next&lt;br /&gt;
EndFunc   ;==&amp;gt;_Flash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== GUI Background Changer ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 69506-reaperx&lt;br /&gt;
 | AuthorName = ReaperX&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;Misc.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global Const $gui_choose_color = GUICreate(&amp;quot;Choose Color&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Global Const $button = GUICtrlCreateButton(&amp;quot;Choose Color&amp;quot;, 150, 150)&lt;br /&gt;
&lt;br /&gt;
GUISetState(@SW_SHOWNORMAL, $gui_choose_color)&lt;br /&gt;
&lt;br /&gt;
Global Const $iReturnType = 2&lt;br /&gt;
&lt;br /&gt;
Global $color&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
	Switch GUIGetMsg()&lt;br /&gt;
		Case $button&lt;br /&gt;
			$color = _ChooseColor($iReturnType)&lt;br /&gt;
			GUISetBkColor($color)&lt;br /&gt;
		Case $GUI_EVENT_CLOSE&lt;br /&gt;
			Exit&lt;br /&gt;
	EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Example 2&lt;br /&gt;
#include &amp;lt;GUIConstants.au3&lt;br /&gt;
&lt;br /&gt;
MainGUI()&lt;br /&gt;
&lt;br /&gt;
Func MainGUI()&lt;br /&gt;
	GUICreate(&amp;quot;ReaperX&#039;s Test GUI&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    Local Const $file = GUICtrlCreateMenu(&amp;quot;File&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Local Const $file_notepad = GUICtrlCreateMenuItem(&amp;quot;Open Notepad&amp;quot;, $file)&lt;br /&gt;
&lt;br /&gt;
	Local Const $file_computer = GUICtrlCreateMenuItem(&amp;quot;Open My Computer&amp;quot;, $file)&lt;br /&gt;
&lt;br /&gt;
	Local Const $file_exit = GUICtrlCreateMenuItem(&amp;quot;Exit&amp;quot;, $file)&lt;br /&gt;
&lt;br /&gt;
	Local Const $actions = GUICtrlCreateMenu(&amp;quot;Actions&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Local Const $actions_txt_file = GUICtrlCreateMenuItem(&amp;quot;Open Text File&amp;quot;, $actions)&lt;br /&gt;
&lt;br /&gt;
	Local Const $actions_calc = GUICtrlCreateMenuItem(&amp;quot;Open Calculator&amp;quot;, $actions)&lt;br /&gt;
&lt;br /&gt;
	Local Const $help = GUICtrlCreateMenu(&amp;quot;Help&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Local Const $help_about = GUICtrlCreateMenuItem(&amp;quot;About&amp;quot;, $help)&lt;br /&gt;
&lt;br /&gt;
	Local Const $tab_set = GUICtrlCreateTab(110, 100, 135, 150)&lt;br /&gt;
&lt;br /&gt;
	Local Const $tab_1 = GUICtrlCreateTabItem(&amp;quot;Change BG&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Local Const $bg_red_radio = GUICtrlCreateRadio(&amp;quot;Red&amp;quot;, 115, 125)&lt;br /&gt;
&lt;br /&gt;
	Local Const $bg_green_radio = GUICtrlCreateRadio(&amp;quot;Green&amp;quot;, 115, 145)&lt;br /&gt;
&lt;br /&gt;
	Local Const $bg_yellow_radio = GUICtrlCreateRadio(&amp;quot;Yellow&amp;quot;, 115, 165)&lt;br /&gt;
&lt;br /&gt;
	Local Const $tab_2 = GUICtrlCreateTabItem(&amp;quot;AutoIt Info&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    GUISetState(@SW_SHOWNORMAL)&lt;br /&gt;
&lt;br /&gt;
    While 1&lt;br /&gt;
		Switch GUIGetMsg()&lt;br /&gt;
			Case $GUI_EVENT_CLOSE&lt;br /&gt;
				ExitLoop&lt;br /&gt;
			Case $file_notepad&lt;br /&gt;
				Run(&amp;quot;notepad.exe&amp;quot;)&lt;br /&gt;
			Case $file_computer&lt;br /&gt;
				Run(&amp;quot;explorer.exe&amp;quot;)&lt;br /&gt;
			Case $file_exit&lt;br /&gt;
				Exit&lt;br /&gt;
			Case $actions_txt_file&lt;br /&gt;
				Local Const $txt_file_1 = FileOpenDialog(&amp;quot;Choose a Text File to Open...&amp;quot;, @DesktopDir, &amp;quot;Text Files(*.txt)&amp;quot;)&lt;br /&gt;
				FileOpen($txt_file_1)&lt;br /&gt;
			Case $actions_calc&lt;br /&gt;
				Run(&amp;quot;calc.exe&amp;quot;)&lt;br /&gt;
			Case $help_about&lt;br /&gt;
				MsgBox(0, &amp;quot;About&amp;quot;, &amp;quot;This Test GUI Was Created by ReaperX&amp;quot;)&lt;br /&gt;
			Case $bg_red_radio&lt;br /&gt;
				GUISetBkColor(0xED1C24)&lt;br /&gt;
			Case $bg_green_radio&lt;br /&gt;
				GUISetBkColor(0x22B14C)&lt;br /&gt;
			Case $bg_yellow_radio&lt;br /&gt;
				GUISetBkColor(0xFFF200)&lt;br /&gt;
		EndSwitch&lt;br /&gt;
    WEnd&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== GUICtrlGetID ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local Const $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
    Local Const $iLabel = GUICtrlCreateLabel(&#039;&#039;, 0, 0, 500, 500)&lt;br /&gt;
&lt;br /&gt;
    Local Const $iComboBox = GUICtrlCreateCombo(&#039;&#039;, 0, 0, 500, 500)&lt;br /&gt;
&lt;br /&gt;
    GUISetState(@SW_SHOWNORMAL, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    MsgBox(4096, &#039;&#039;, _&lt;br /&gt;
	        &#039;AutoIt Label ID: &#039;                &amp;amp; $iLabel &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
            &#039;AutoIt Label ID From Handle: &#039;    &amp;amp; GUICtrlGetID(GUICtrlGetHandle($iLabel)) &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
            &#039;AutoIt ComboBox ID: &#039;             &amp;amp; $iComboBox &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
            &#039;AutoIt ComboBox ID From Handle: &#039; &amp;amp; GUICtrlGetID(GUICtrlGetHandle($iComboBox)) &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
    Return GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Retrieve the control id of an AutoIt native control using the handle returned by GUICtrlGetHandle.&lt;br /&gt;
Func GUICtrlGetID(Const $hWnd)&lt;br /&gt;
    Local Const $aResult = DllCall(&#039;user32.dll&#039;, &#039;int&#039;, &#039;GetDlgCtrlID&#039;, &#039;hwnd&#039;, $hWnd) ; _WinAPI_GetDlgItem in WinAPI.au3.&lt;br /&gt;
&lt;br /&gt;
	If @error Then&lt;br /&gt;
        Return SetError(@error, @extended, 0)&lt;br /&gt;
    EndIf&lt;br /&gt;
&lt;br /&gt;
    Return $aResult[0]&lt;br /&gt;
EndFunc   ;==&amp;gt;GUICtrlGetID&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _GUICtrlIpAddress_DisableField ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIIPAddress.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI, $hIPAddress&lt;br /&gt;
    $hGUI = GUICreate(&#039;IP Address Control Create Example&#039;, 400, 300)&lt;br /&gt;
    $hIPAddress = _GUICtrlIpAddress_Create($hGUI, 10, 10)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    _GUICtrlIpAddress_Set($hIPAddress, &#039;127.0.0.1&#039;)&lt;br /&gt;
    _GUICtrlIpAddress_DisableField($hIPAddress, 0)&lt;br /&gt;
    _GUICtrlIpAddress_DisableField($hIPAddress, 3)&lt;br /&gt;
&lt;br /&gt;
    Do&lt;br /&gt;
    Until GUIGetMsg() = $GUI_EVENT_CLOSE&lt;br /&gt;
    _GUICtrlIpAddress_Destroy($hIPAddress)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Disable an octet field. First octet field starts from index 0.&lt;br /&gt;
Func _GUICtrlIpAddress_DisableField($hIPAddress, $iField) ; Idea by Rover.&lt;br /&gt;
    Local $aField[5] = [4, 3, 2, 1]&lt;br /&gt;
    Return ControlDisable($hIPAddress, &#039;&#039;, &#039;[CLASSNN:Edit&#039; &amp;amp; $aField[$iField] &amp;amp; &#039;]&#039;)&lt;br /&gt;
EndFunc   ;==&amp;gt;_GUICtrlIpAddress_DisableField&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== GUI With Scrollable TabItem ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 46198-autobert&lt;br /&gt;
 | AuthorName = AutoBert&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; GUI With Scrollable TabItem&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;ScrollBarConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiScrollBars.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiTab.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global Const $hGui = GUICreate(&amp;quot;Gui with scrollable TabItem &amp;quot;, 633, 350, 190, 220)&lt;br /&gt;
GUISetBkColor(0xFFFFFF)&lt;br /&gt;
&lt;br /&gt;
Global Const $idTab = GUICtrlCreateTab(10, 10, 613, 300)&lt;br /&gt;
&lt;br /&gt;
Global Const $idTab0 = GUICtrlCreateTabItem(&amp;quot;tab0&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Global Const $hChild = GUICreate(&amp;quot;Scrollbereich&amp;quot;, 588, 255, 26, 45, $WS_POPUP, $WS_EX_MDICHILD, $hGui)&lt;br /&gt;
&lt;br /&gt;
Global $x = 6 ; +22&lt;br /&gt;
Global $y = 8&lt;br /&gt;
&lt;br /&gt;
Global $aInputs[15]&lt;br /&gt;
&lt;br /&gt;
For $i = 0 To 14&lt;br /&gt;
	$aInputs[$i] = GUICtrlCreateInput(&#039;&#039;, $x, $y, 21, 20)&lt;br /&gt;
	$x += 22&lt;br /&gt;
	$y += 21&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
_GUIScrollBars_Init($hChild, -1)&lt;br /&gt;
_GUIScrollBars_ShowScrollBar($hChild, $SB_HORZ, False) ; horizontale Scrollbar verstecken&lt;br /&gt;
_GUIScrollBars_SetScrollRange($hChild, $SB_VERT, 3, 30)&lt;br /&gt;
&lt;br /&gt;
GUISetState(@SW_HIDE, $hChild)&lt;br /&gt;
&lt;br /&gt;
GUISwitch($hGui)&lt;br /&gt;
&lt;br /&gt;
Global Const $idTab1 = GUICtrlCreateTabItem(&amp;quot;tab----1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
GUICtrlCreateLabel(&amp;quot;label1&amp;quot;, 30, 80, 50, 20)&lt;br /&gt;
&lt;br /&gt;
Global Const $idTab1combo = GUICtrlCreateCombo(&amp;quot;&amp;quot;, 20, 50, 60, 120)&lt;br /&gt;
&lt;br /&gt;
GUICtrlSetData($idTab1combo, &amp;quot;Trids|CyberSlug|Larry|Jon|Tylo&amp;quot;, &amp;quot;Jon&amp;quot;); default Jon&lt;br /&gt;
&lt;br /&gt;
Global Const $idTab1OK = GUICtrlCreateButton(&amp;quot;OK1&amp;quot;, 80, 50, 50, 20)&lt;br /&gt;
&lt;br /&gt;
Global Const $idTab2 = GUICtrlCreateTabItem(&amp;quot;tab2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
GUICtrlSetState($idTab2, $Gui_SHOW); will be display first&lt;br /&gt;
&lt;br /&gt;
GUICtrlCreateLabel(&amp;quot;label2&amp;quot;, 30, 80, 50, 20)&lt;br /&gt;
&lt;br /&gt;
Global Const $idTab2OK = GUICtrlCreateButton(&amp;quot;OK2&amp;quot;, 140, 50, 50)&lt;br /&gt;
&lt;br /&gt;
GUICtrlCreateTabItem(&amp;quot;&amp;quot;); end tabitem definition&lt;br /&gt;
&lt;br /&gt;
Global Const $idBtnBack = GUICtrlCreateButton(&amp;quot;&amp;amp;Zurueck&amp;quot;, 72, 320, 100, 25)&lt;br /&gt;
&lt;br /&gt;
Global Const $idBtnCancel = GUICtrlCreateButton(&amp;quot;&amp;amp;Beenden&amp;quot;, 264, 320, 100, 25)&lt;br /&gt;
&lt;br /&gt;
Global Const $idBtnContinue = GUICtrlCreateButton(&amp;quot;&amp;amp;Weiter&amp;quot;, 448, 320, 100, 25)&lt;br /&gt;
&lt;br /&gt;
GUISetState(@SW_SHOWNORMAL)&lt;br /&gt;
&lt;br /&gt;
GUIRegisterMsg($WM_VSCROLL, &amp;quot;WM_VSCROLL&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
	Switch GUIGetMsg()&lt;br /&gt;
		Case $GUI_EVENT_CLOSE&lt;br /&gt;
			Exit&lt;br /&gt;
		Case $idTab&lt;br /&gt;
			Switch _GUICtrlTab_GetCurSel($idTab)&lt;br /&gt;
				Case 0&lt;br /&gt;
					GUISetState(@SW_SHOW, $hChild)&lt;br /&gt;
				Case 1&lt;br /&gt;
					GUISetState(@SW_HIDE, $hChild)&lt;br /&gt;
			EndSwitch&lt;br /&gt;
	EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func WM_VSCROLL($hWnd, $Msg, $wParam, $lParam)&lt;br /&gt;
	#forceref $Msg, $wParam, $lParam&lt;br /&gt;
	Local $nScrollCode = BitAND($wParam, 0x0000FFFF)&lt;br /&gt;
	Local $index = -1, $yChar, $yPos&lt;br /&gt;
	Local $Min, $Max, $Page, $Pos, $TrackPos&lt;br /&gt;
&lt;br /&gt;
	For $x = 0 To UBound($aSB_WindowInfo) - 1&lt;br /&gt;
		If $aSB_WindowInfo[$x][0] = $hWnd Then&lt;br /&gt;
			$index = $x&lt;br /&gt;
			$yChar = $aSB_WindowInfo[$index][3]&lt;br /&gt;
			ExitLoop&lt;br /&gt;
		EndIf&lt;br /&gt;
	Next&lt;br /&gt;
&lt;br /&gt;
	If $index = -1 Then Return 0&lt;br /&gt;
&lt;br /&gt;
	; Get all the vertial scroll bar information&lt;br /&gt;
	Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_VERT)&lt;br /&gt;
	$Min = DllStructGetData($tSCROLLINFO, &amp;quot;nMin&amp;quot;)&lt;br /&gt;
	$Max = DllStructGetData($tSCROLLINFO, &amp;quot;nMax&amp;quot;)&lt;br /&gt;
	$Page = DllStructGetData($tSCROLLINFO, &amp;quot;nPage&amp;quot;)&lt;br /&gt;
	; Save the position for comparison later on&lt;br /&gt;
	$yPos = DllStructGetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;)&lt;br /&gt;
	$Pos = $yPos&lt;br /&gt;
&lt;br /&gt;
	$TrackPos = DllStructGetData($tSCROLLINFO, &amp;quot;nTrackPos&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Switch $nScrollCode&lt;br /&gt;
		Case $SB_TOP ; user clicked the HOME keyboard key&lt;br /&gt;
			DllStructSetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;, $Min)&lt;br /&gt;
		Case $SB_BOTTOM ; user clicked the END keyboard key&lt;br /&gt;
			DllStructSetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;, $Max)&lt;br /&gt;
		Case $SB_LINEUP ; user clicked the top arrow&lt;br /&gt;
			DllStructSetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;, $Pos - 1)&lt;br /&gt;
		Case $SB_LINEDOWN ; user clicked the bottom arrow&lt;br /&gt;
			DllStructSetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;, $Pos + 1)&lt;br /&gt;
		Case $SB_PAGEUP ; user clicked the scroll bar shaft above the scroll box&lt;br /&gt;
			DllStructSetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;, $Pos - $Page)&lt;br /&gt;
		Case $SB_PAGEDOWN ; user clicked the scroll bar shaft below the scroll box&lt;br /&gt;
			DllStructSetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;, $Pos + $Page)&lt;br /&gt;
		Case $SB_THUMBTRACK ; user dragged the scroll box&lt;br /&gt;
			DllStructSetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;, $TrackPos)&lt;br /&gt;
	EndSwitch&lt;br /&gt;
&lt;br /&gt;
	; Set the position and then retrieve it.  Due to adjustments&lt;br /&gt;
	; by Windows it may not be the same as the value set.&lt;br /&gt;
	DllStructSetData($tSCROLLINFO, &amp;quot;fMask&amp;quot;, $SIF_POS)&lt;br /&gt;
	_GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)&lt;br /&gt;
	_GUIScrollBars_GetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)&lt;br /&gt;
	; If the position has changed, scroll the window and update it&lt;br /&gt;
	$Pos = DllStructGetData($tSCROLLINFO, &amp;quot;nPos&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	If $Pos &amp;lt;&amp;gt; $yPos Then&lt;br /&gt;
		_GUIScrollBars_ScrollWindow($hWnd, 0, $yChar * ($yPos - $Pos))&lt;br /&gt;
		$yPos = $Pos&lt;br /&gt;
	EndIf&lt;br /&gt;
&lt;br /&gt;
	Return $GUI_RUNDEFMSG&lt;br /&gt;
EndFunc   ;==&amp;gt;WM_VSCROLL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _IsAutoItGUI ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;WinAPI.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Check if the handle is an AutoIt GUI.&lt;br /&gt;
    MsgBox(4096, &#039;&#039;, &#039;Is the handle of the GUI an AutoIt window: &#039; &amp;amp; _IsAutoItGUI($hGUI))&lt;br /&gt;
&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Check if a handle is an AutoIt GUI.&lt;br /&gt;
Func _IsAutoItGUI($hWnd)&lt;br /&gt;
    Return _WinAPI_GetClassName($hWnd) = &#039;AutoIt v3 GUI&#039;&lt;br /&gt;
EndFunc   ;==&amp;gt;_IsAutoItGUI&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _IsEnabled ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $aState[2] = [$GUI_ENABLE, $GUI_DISABLE]&lt;br /&gt;
    GUICreate(&#039;&#039;)&lt;br /&gt;
    Local $iButton = GUICtrlCreateButton(&#039;Button Example&#039;, 10, 10, 120, 25)&lt;br /&gt;
    GUICtrlSetState($iButton, $aState[Random(0, 1, 1)]) ; Randomise whether or not the Button is enabled.&lt;br /&gt;
    GUISetState(@SW_SHOW)&lt;br /&gt;
&lt;br /&gt;
    ; Check the state of the Button.&lt;br /&gt;
    MsgBox(4096, &#039;&#039;, &#039;Is the Button enabled: &#039; &amp;amp; _IsEnabled($iButton))&lt;br /&gt;
&lt;br /&gt;
    While 1&lt;br /&gt;
        Switch GUIGetMsg()&lt;br /&gt;
            Case $GUI_EVENT_CLOSE&lt;br /&gt;
                ExitLoop&lt;br /&gt;
        EndSwitch&lt;br /&gt;
    WEnd&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
Func _IsEnabled($iControlID)&lt;br /&gt;
    Return BitAND(GUICtrlGetState($iControlID), $GUI_ENABLE) = $GUI_ENABLE&lt;br /&gt;
EndFunc   ;==&amp;gt;_IsEnabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _IsTransparent ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;WinAPI.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Set the transparency of a GUI between 0 and 255. 255 = Solid, 0 = Invisible.&lt;br /&gt;
    WinSetTrans($hGUI, &#039;&#039;, Random(0, 255, 1))&lt;br /&gt;
&lt;br /&gt;
    MsgBox(4096, &#039;&#039;, &#039;Check if the GUI is transparent: &#039; &amp;amp; _IsTransparent($hGUI))&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Check if the GUI is transparent.&lt;br /&gt;
Func _IsTransparent($sTitle, $sText = &#039;&#039;)&lt;br /&gt;
    Local $iTransColor = 0, $iTransparency = 255&lt;br /&gt;
    _WinAPI_GetLayeredWindowAttributes(WinGetHandle($sTitle, $sText), $iTransColor, $iTransparency)&lt;br /&gt;
    Return $iTransparency = 0&lt;br /&gt;
EndFunc   ;==&amp;gt;_IsTransparent&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
==  Limit GUI Resize ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 38576-melba23&lt;br /&gt;
 | AuthorName = Melba23&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; How to limit the minimum/maximum size of a resizable GUI&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
GUIRegisterMsg($WM_GETMINMAXINFO, &amp;quot;WM_GETMINMAXINFO&amp;quot;)&lt;br /&gt;
Global $hGUI = GUICreate(&amp;quot;Test&amp;quot;, 500, 500, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX))&lt;br /&gt;
GUISetState()&lt;br /&gt;
Global $aPos = WinGetPos($hGUI)&lt;br /&gt;
While 1&lt;br /&gt;
    Switch GUIGetMsg()&lt;br /&gt;
        Case $GUI_EVENT_MAXIMIZE&lt;br /&gt;
            WinMove($hGUI, &amp;quot;&amp;quot;, $aPos[0], $aPos[1], $aPos[2], $aPos[3]) ; resets intial size&lt;br /&gt;
        Case $GUI_EVENT_CLOSE&lt;br /&gt;
            Exit&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func WM_GETMINMAXINFO($hwnd, $Msg, $wParam, $lParam)&lt;br /&gt;
    #forceref $hwnd, $Msg, $wParam, $lParam&lt;br /&gt;
    Local $GUIMINWID = 300, $GUIMINHT = 100 ; set your restrictions here&lt;br /&gt;
    Local $GUIMAXWID = 800, $GUIMAXHT = 500&lt;br /&gt;
    Local $tagMaxinfo = DllStructCreate(&amp;quot;int;int;int;int;int;int;int;int;int;int&amp;quot;, $lParam)&lt;br /&gt;
    DllStructSetData($tagMaxinfo, 7, $GUIMINWID) ; min X&lt;br /&gt;
    DllStructSetData($tagMaxinfo, 8, $GUIMINHT) ; min Y&lt;br /&gt;
    DllStructSetData($tagMaxinfo, 9, $GUIMAXWID); max X&lt;br /&gt;
    DllStructSetData($tagMaxinfo, 10, $GUIMAXHT) ; max Y&lt;br /&gt;
    Return 0&lt;br /&gt;
EndFunc   ;==&amp;gt;WM_GETMINMAXINFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Mixed Colored List View ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 23675-siao&lt;br /&gt;
 | AuthorName = Siao&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#Include &amp;lt;GuiConstantsEx.au3&amp;gt;&lt;br /&gt;
#Include &amp;lt;GuiListView.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;fonts for custom draw example&lt;br /&gt;
;bold&lt;br /&gt;
Global $aFont1 = DLLCall(&amp;quot;gdi32.dll&amp;quot;,&amp;quot;int&amp;quot;,&amp;quot;CreateFont&amp;quot;, &amp;quot;int&amp;quot;, 14, &amp;quot;int&amp;quot;, 0, &amp;quot;int&amp;quot;, 0, &amp;quot;int&amp;quot;, 0, &amp;quot;int&amp;quot;, 700, _&lt;br /&gt;
                        &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, _&lt;br /&gt;
                        &amp;quot;dword&amp;quot;, 0, &amp;quot;str&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
;italic&lt;br /&gt;
Global $aFont2 = DLLCall(&amp;quot;gdi32.dll&amp;quot;,&amp;quot;int&amp;quot;,&amp;quot;CreateFont&amp;quot;, &amp;quot;int&amp;quot;, 14, &amp;quot;int&amp;quot;, 0, &amp;quot;int&amp;quot;, 0, &amp;quot;int&amp;quot;, 0, &amp;quot;int&amp;quot;, 400, _&lt;br /&gt;
                        &amp;quot;dword&amp;quot;, 1, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, &amp;quot;dword&amp;quot;, 0, _&lt;br /&gt;
                        &amp;quot;dword&amp;quot;, 0, &amp;quot;str&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
$GUI = GUICreate(&amp;quot;Listview Custom Draw&amp;quot;, 400, 300)&lt;br /&gt;
$cListView = GUICtrlCreateListView(&amp;quot;&amp;quot;, 2, 2, 394, 268)&lt;br /&gt;
$hListView = GUICtrlGetHandle($cListView)&lt;br /&gt;
;or&lt;br /&gt;
;~ $hListView = _GUICtrlListView_Create($GUI, &amp;quot;&amp;quot;, 2, 2, 394, 268)&lt;br /&gt;
&lt;br /&gt;
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))&lt;br /&gt;
_GUICtrlListView_InsertColumn($hListView, 0, &amp;quot;Column 1&amp;quot;, 100)&lt;br /&gt;
_GUICtrlListView_InsertColumn($hListView, 1, &amp;quot;Column 2&amp;quot;, 100)&lt;br /&gt;
_GUICtrlListView_InsertColumn($hListView, 2, &amp;quot;Column 3&amp;quot;, 100)&lt;br /&gt;
&lt;br /&gt;
; Add items&lt;br /&gt;
For $i = 1 To 30&lt;br /&gt;
    _GUICtrlListView_AddItem($hListView, &amp;quot;Row&amp;quot; &amp;amp; $i &amp;amp; &amp;quot;: Col 1&amp;quot;, $i-1)&lt;br /&gt;
    For $j = 1 To 2&lt;br /&gt;
        _GUICtrlListView_AddSubItem ($hListView, $i-1, &amp;quot;Row&amp;quot; &amp;amp; $i &amp;amp; &amp;quot;: Col &amp;quot; &amp;amp; $j+1, $j)&lt;br /&gt;
    Next&lt;br /&gt;
Next&lt;br /&gt;
GUIRegisterMsg($WM_NOTIFY, &amp;quot;WM_NOTIFY&amp;quot;)&lt;br /&gt;
GUISetState()&lt;br /&gt;
&lt;br /&gt;
Do&lt;br /&gt;
Until GUIGetMsg() = $GUI_EVENT_CLOSE&lt;br /&gt;
DLLCall(&amp;quot;gdi32.dll&amp;quot;,&amp;quot;int&amp;quot;,&amp;quot;DeleteObject&amp;quot;, &amp;quot;hwnd&amp;quot;, $aFont1[0])&lt;br /&gt;
DLLCall(&amp;quot;gdi32.dll&amp;quot;,&amp;quot;int&amp;quot;,&amp;quot;DeleteObject&amp;quot;, &amp;quot;hwnd&amp;quot;, $aFont2[0])&lt;br /&gt;
Exit&lt;br /&gt;
&lt;br /&gt;
Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)&lt;br /&gt;
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR&lt;br /&gt;
&lt;br /&gt;
    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)&lt;br /&gt;
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, &amp;quot;hWndFrom&amp;quot;))&lt;br /&gt;
    $iIDFrom = DllStructGetData($tNMHDR, &amp;quot;IDFrom&amp;quot;)&lt;br /&gt;
    $iCode = DllStructGetData($tNMHDR, &amp;quot;Code&amp;quot;)&lt;br /&gt;
    Switch $hWndFrom&lt;br /&gt;
        Case $hListView&lt;br /&gt;
            Switch $iCode&lt;br /&gt;
                Case $NM_CUSTOMDRAW&lt;br /&gt;
                    If Not _GUICtrlListView_GetViewDetails($hWndFrom) Then Return $GUI_RUNDEFMSG&lt;br /&gt;
                     Local $tCustDraw = DllStructCreate(&#039;hwnd hwndFrom;int idFrom;int code;&#039; &amp;amp; _&lt;br /&gt;
                                        &#039;dword DrawStage;hwnd hdc;long rect[4];dword ItemSpec;int ItemState;dword Itemlparam;&#039; &amp;amp; _&lt;br /&gt;
                                        &#039;dword clrText;dword clrTextBk;int SubItem;&#039; &amp;amp; _&lt;br /&gt;
                                        &#039;dword ItemType;dword clrFace;int IconEffect;int IconPhase;int PartID;int StateID;long rectText[4];int Align&#039;, _ ;winxp or later&lt;br /&gt;
                                        $lParam), $iDrawStage, $iItem, $iSubitem, $hDC, $iColor1, $iColor2, $iColor3&lt;br /&gt;
                    $iDrawStage = DllStructGetData($tCustDraw, &#039;DrawStage&#039;)&lt;br /&gt;
                    If $iDrawStage = $CDDS_PREPAINT Then Return $CDRF_NOTIFYITEMDRAW ;request custom drawing of items&lt;br /&gt;
                    If $iDrawStage = $CDDS_ITEMPREPAINT Then Return $CDRF_NOTIFYSUBITEMDRAW ;request drawing each cell separately&lt;br /&gt;
                    If Not BitAND($iDrawStage, $CDDS_SUBITEM) Then Return $CDRF_DODEFAULT&lt;br /&gt;
                    $iItem = DllStructGetData($tCustDraw, &#039;ItemSpec&#039;)&lt;br /&gt;
                    $iSubitem = DllStructGetData($tCustDraw, &#039;SubItem&#039;)&lt;br /&gt;
                    Switch $iItem&lt;br /&gt;
                        Case 0 To 9 ;for rows 1-10 lets do this&lt;br /&gt;
                            $iColor1 = RGB2BGR(0xFBFFD8)&lt;br /&gt;
                            $iColor2 = RGB2BGR(-1)&lt;br /&gt;
                            $iColor3 = RGB2BGR(0xFF0000)&lt;br /&gt;
                            If Mod($iSubitem, 2) Then ;odd columns&lt;br /&gt;
                                DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor1)&lt;br /&gt;
                                DllStructSetData($tCustDraw, &#039;clrText&#039;, 0)&lt;br /&gt;
                            Else ;even columns&lt;br /&gt;
                                DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor2)&lt;br /&gt;
                                DllStructSetData($tCustDraw, &#039;clrText&#039;, $iColor3)&lt;br /&gt;
                            EndIf&lt;br /&gt;
                        Case 10 To 19 ;for rows 11-20 lets do this&lt;br /&gt;
                            $iColor1 = RGB2BGR(0xFBFFD8)&lt;br /&gt;
                            $iColor2 = RGB2BGR(0x3DF8FF)&lt;br /&gt;
                            $hDC = DllStructGetData($tCustDraw, &#039;hdc&#039;)&lt;br /&gt;
                            If Mod($iItem, 2) Then&lt;br /&gt;
                                If Mod($iSubitem, 2) Then&lt;br /&gt;
                                    DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor1)&lt;br /&gt;
                                Else&lt;br /&gt;
                                    DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor2)&lt;br /&gt;
                                EndIf&lt;br /&gt;
                                DLLCall(&amp;quot;gdi32.dll&amp;quot;,&amp;quot;hwnd&amp;quot;,&amp;quot;SelectObject&amp;quot;, &amp;quot;hwnd&amp;quot;, $hDC, &amp;quot;hwnd&amp;quot;, $aFont1[0]) ;select our chosen font into DC&lt;br /&gt;
                            Else&lt;br /&gt;
                                If Mod($iSubitem, 2) Then&lt;br /&gt;
                                    DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor2)&lt;br /&gt;
                                Else&lt;br /&gt;
                                    DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor1)&lt;br /&gt;
                                EndIf&lt;br /&gt;
                                DLLCall(&amp;quot;gdi32.dll&amp;quot;,&amp;quot;hwnd&amp;quot;,&amp;quot;SelectObject&amp;quot;, &amp;quot;hwnd&amp;quot;, $hDC, &amp;quot;hwnd&amp;quot;, $aFont2[0])&lt;br /&gt;
                            EndIf&lt;br /&gt;
                        Case 20 To 29 ;for rows 21-30 lets do this&lt;br /&gt;
                            $iColor1 = RGB2BGR(0xFBFFD8)&lt;br /&gt;
                            $iColor2 = RGB2BGR(-1)&lt;br /&gt;
                            If Mod($iItem, 2) Then ;odd rows&lt;br /&gt;
                                DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor2)&lt;br /&gt;
                            Else&lt;br /&gt;
                                DllStructSetData($tCustDraw, &#039;clrTextBk&#039;, $iColor1)&lt;br /&gt;
                            EndIf&lt;br /&gt;
                    EndSwitch&lt;br /&gt;
                    Return $CDRF_NEWFONT&lt;br /&gt;
            EndSwitch&lt;br /&gt;
    EndSwitch&lt;br /&gt;
    Return $GUI_RUNDEFMSG&lt;br /&gt;
EndFunc   ;==&amp;gt;WM_NOTIFY&lt;br /&gt;
&lt;br /&gt;
Func RGB2BGR($iColor)&lt;br /&gt;
    Return BitAND(BitShift(String(Binary($iColor)), 8), 0xFFFFFF)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Move Message Box ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 423-herewasplato&lt;br /&gt;
 | AuthorName = herewasplato&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Move Message Box&lt;br /&gt;
&lt;br /&gt;
_MoveMsgBox(0, &amp;quot;testTitle&amp;quot;, &amp;quot;testText&amp;quot;, 0, 10)&lt;br /&gt;
&lt;br /&gt;
Func _MoveMsgBox($MBFlag, $MBTitle, $MBText, $x, $y)&lt;br /&gt;
    Local $file = FileOpen(EnvGet(&amp;quot;temp&amp;quot;) &amp;amp; &amp;quot;\MoveMB.au3&amp;quot;, 2)&lt;br /&gt;
    If $file = -1 Then Return;if error, give up on the move&lt;br /&gt;
&lt;br /&gt;
    Local $line1 = &#039;AutoItSetOption(&#039; &amp;amp; &#039;&amp;quot;WinWaitDelay&amp;quot;, 0&#039; &amp;amp; &#039;)&#039;&lt;br /&gt;
    Local $line2 = &#039;WinWait(&amp;quot;&#039; &amp;amp; $MBTitle &amp;amp; &#039;&amp;quot;, &amp;quot;&#039; &amp;amp; $MBText &amp;amp; &#039;&amp;quot;)&#039;&lt;br /&gt;
    Local $line3 = &#039;WinMove(&amp;quot;&#039; &amp;amp; $MBTitle &amp;amp; &#039;&amp;quot;, &amp;quot;&#039; &amp;amp; $MBText &amp;amp; &#039;&amp;quot;&#039; &amp;amp; &#039;, &#039; &amp;amp; $x &amp;amp; &#039;, &#039; &amp;amp; $y &amp;amp; &#039;)&#039;&lt;br /&gt;
    FileWrite($file, $line1 &amp;amp; @CRLF &amp;amp; $line2 &amp;amp; @CRLF &amp;amp; $line3)&lt;br /&gt;
    FileClose($file)&lt;br /&gt;
&lt;br /&gt;
    Run(@AutoItExe &amp;amp; &amp;quot; /AutoIt3ExecuteScript &amp;quot; &amp;amp; EnvGet(&amp;quot;temp&amp;quot;) &amp;amp; &amp;quot;\MoveMB.au3&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Local $result = MsgBox($MBFlag, $MBTitle, $MBText)&lt;br /&gt;
;~     MsgBox($MBFlag, $MBTitle, $MBText)&lt;br /&gt;
&lt;br /&gt;
    FileDelete(EnvGet(&amp;quot;temp&amp;quot;) &amp;amp; &amp;quot;\MoveMB.au3&amp;quot;)&lt;br /&gt;
	Return ($result)&lt;br /&gt;
EndFunc;==&amp;gt;_MoveMsgBox&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Search In A Listview ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 7108-xenobiologist&lt;br /&gt;
 | AuthorName = Xenobiologist&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Search in a Listview and show the row with the match as the top row in the listiview.&lt;br /&gt;
#include &amp;lt;GuiListView.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
_main()&lt;br /&gt;
&lt;br /&gt;
Func _main()&lt;br /&gt;
	Local $hGUI = GUICreate(&amp;quot;Test&amp;quot;, 500, 500)&lt;br /&gt;
	Local $hListView = GUICtrlCreateListView(&amp;quot;Items&amp;quot;, 10, 10, 480, 380)&lt;br /&gt;
	_GUICtrlListView_SetColumnWidth($hListView, 0, 450)&lt;br /&gt;
	For $i = 0 To 250&lt;br /&gt;
		Switch $i&lt;br /&gt;
			Case 50, 100, 150, 200&lt;br /&gt;
				GUICtrlCreateListViewItem(&amp;quot;Item 999&amp;quot;, $hListView)&lt;br /&gt;
			Case Else&lt;br /&gt;
				GUICtrlCreateListViewItem(&amp;quot;Item &amp;quot; &amp;amp; StringFormat(&amp;quot;%03i&amp;quot;, $i), $hListView)&lt;br /&gt;
		EndSwitch&lt;br /&gt;
	Next&lt;br /&gt;
	Local $hButton = GUICtrlCreateButton(&amp;quot;Search&amp;quot;, 10, 460, 100, 30, 0x0001) ; DEFAULT_BUTTON&lt;br /&gt;
	Local $hInput = GUICtrlCreateInput(&amp;quot;999&amp;quot;, 200, 460, 100, 30)&lt;br /&gt;
	GUICtrlSetState($hInput, 256) ; FOCUS&lt;br /&gt;
	GUICtrlCreateLabel(&amp;quot;Search for 999 - the listview will show the match as top row&amp;quot;, 10, 410, 470, 30)&lt;br /&gt;
	GUISetState()&lt;br /&gt;
	While 1&lt;br /&gt;
		Switch GUIGetMsg()&lt;br /&gt;
			Case -3 ; EVENT_CLOSE&lt;br /&gt;
				Exit&lt;br /&gt;
			Case $hButton&lt;br /&gt;
				_search($hListView, GUICtrlRead($hInput))&lt;br /&gt;
		EndSwitch&lt;br /&gt;
	WEnd&lt;br /&gt;
EndFunc   ;==&amp;gt;_main&lt;br /&gt;
Func _search($hLV, $startPos = 0)&lt;br /&gt;
	_GUICtrlListView_ClickItem($hLV, _GUICtrlListView_GetTopIndex($hLV)) ;&lt;br /&gt;
	Local $selIndex_A = _GUICtrlListView_GetSelectedIndices($hLV, True)&lt;br /&gt;
	Local $iIndex = _GUICtrlListView_FindInText($hLV, $startPos, $selIndex_A[1])&lt;br /&gt;
	; Scroll to bottom&lt;br /&gt;
	_GUICtrlListView_EnsureVisible($hLV, _GUICtrlListView_GetItemCount($hLV) - 1)&lt;br /&gt;
	; Now click item and we get it at the top - or as close as it will go&lt;br /&gt;
	_GUICtrlListView_SetItemFocused($hLV, $iIndex)&lt;br /&gt;
	_GUICtrlListView_ClickItem($hLV, $iIndex)&lt;br /&gt;
EndFunc   ;==&amp;gt;_search&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _SetWinTitle ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 52-geosoft&lt;br /&gt;
 | AuthorName = GEOSoft&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
Local $Frm_Main = GUICreate(&amp;quot;&amp;quot;)&lt;br /&gt;
_SetWinTitle($Frm_Main)&lt;br /&gt;
GUISetState()&lt;br /&gt;
While 1&lt;br /&gt;
	Local $Msg = GUIGetMsg()&lt;br /&gt;
	If @MIN = &#039;00&#039; Then _SetWinTitle($Frm_Main)&lt;br /&gt;
	If $Msg = -3 Then Exit&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func _SetWinTitle($hwnd)&lt;br /&gt;
	Local $Greet, $Ttl&lt;br /&gt;
	If @HOUR &amp;gt;= 5 And @HOUR &amp;lt;= 11 Then $Greet = &#039;Morning  &#039;&lt;br /&gt;
	If @HOUR &amp;gt;= 12 And @HOUR &amp;lt; 17 Then $Greet = &#039;Afternoon  &#039;&lt;br /&gt;
	If @HOUR &amp;gt;= 17 Then $Greet = &#039;Evening  &#039;&lt;br /&gt;
	If @HOUR &amp;lt; 5 Then&lt;br /&gt;
		$Ttl = &amp;quot;You&#039;re up a bit too late  &amp;quot; &amp;amp; @UserName&lt;br /&gt;
	Else&lt;br /&gt;
		$Ttl = &#039;Good &#039; &amp;amp; $Greet &amp;amp; @UserName&lt;br /&gt;
	EndIf&lt;br /&gt;
	WinSetTitle($hwnd, &#039;&#039;, $Ttl)&lt;br /&gt;
EndFunc   ;==&amp;gt;_SetWinTitle&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Small Cue Banner ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
 | Desc = Idea by: [http://www.autoitscript.com/forum/user/70983-autolaser/ Autolaser]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GuiEdit.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;MsgBoxConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
	Local $hGUI = GUICreate(&#039;Example&#039;, 300, 150)&lt;br /&gt;
	GUISetFont(9, 400, 0, &#039;Segoe UI&#039;)&lt;br /&gt;
&lt;br /&gt;
	Local $iUsername = GUICtrlCreateInput(&#039;&#039;, 10, 10, 125, 25)&lt;br /&gt;
	_GUICtrlEdit_SetCueBanner($iUsername, &amp;quot;Search folder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Local $iPassword = GUICtrlCreateInput(&#039;&#039;, 10, 40, 125, 25)&lt;br /&gt;
	_GUICtrlEdit_SetCueBanner($iPassword, &amp;quot;Search...&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	Local $iClose = GUICtrlCreateButton(&amp;quot;Close&amp;quot;, 210, 120, 85, 25)&lt;br /&gt;
	ControlFocus($hGUI, &amp;quot;&amp;quot;, $iClose)&lt;br /&gt;
&lt;br /&gt;
	GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
	MsgBox($MB_SYSTEMMODAL, &amp;quot;&amp;quot;, _GUICtrlEdit_GetCueBanner($iPassword))&lt;br /&gt;
&lt;br /&gt;
	While 1&lt;br /&gt;
		Switch GUIGetMsg()&lt;br /&gt;
			Case $GUI_EVENT_CLOSE, $iClose&lt;br /&gt;
				ExitLoop&lt;br /&gt;
&lt;br /&gt;
		EndSwitch&lt;br /&gt;
	WEnd&lt;br /&gt;
&lt;br /&gt;
	GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
Func _GUICtrlEdit_GetCueBanner($hWnd)&lt;br /&gt;
	If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)&lt;br /&gt;
&lt;br /&gt;
	Local $tText = DllStructCreate(&amp;quot;wchar[4096]&amp;quot;)&lt;br /&gt;
	If _SendMessage($hWnd, $EM_GETCUEBANNER, $tText, 4096, 0, &amp;quot;struct*&amp;quot;) &amp;lt;&amp;gt; 1 Then Return SetError(-1, 0, &amp;quot;&amp;quot;)&lt;br /&gt;
	Return _WinAPI_WideCharToMultiByte($tText)&lt;br /&gt;
EndFunc   ;==&amp;gt;_GUICtrlEdit_GetCueBanner&lt;br /&gt;
&lt;br /&gt;
Func _GUICtrlEdit_SetCueBanner($hWnd, $sText)&lt;br /&gt;
	If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)&lt;br /&gt;
&lt;br /&gt;
	Local $tText = _WinAPI_MultiByteToWideChar($sText)&lt;br /&gt;
&lt;br /&gt;
	Return _SendMessage($hWnd, $EM_SETCUEBANNER, False, $tText, 0, &amp;quot;wparam&amp;quot;, &amp;quot;struct*&amp;quot;) = 1&lt;br /&gt;
EndFunc   ;==&amp;gt;_GUICtrlEdit_SetCueBanner&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Snapped Window ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 126-lazycat&lt;br /&gt;
 | AuthorName = Lazycat&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global Const $SPI_GETWORKAREA = 0x30&lt;br /&gt;
Global $nGap = 20, $nEdge = BitOR(1, 2, 4, 8); Left, Top, Right, Bottom&lt;br /&gt;
&lt;br /&gt;
$hGUI = GUICreate(&amp;quot;Snapped Window&amp;quot;, 300, 200)&lt;br /&gt;
GUIRegisterMsg($WM_WINDOWPOSCHANGING, &amp;quot;MY_WM_WINDOWPOSCHANGING&amp;quot;)&lt;br /&gt;
GUISetState()&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
    $GUIMsg = GUIGetMsg()&lt;br /&gt;
&lt;br /&gt;
    Switch $GUIMsg&lt;br /&gt;
        Case $GUI_EVENT_CLOSE&lt;br /&gt;
            ExitLoop&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func MY_WM_WINDOWPOSCHANGING($hWnd, $Msg, $wParam, $lParam)&lt;br /&gt;
#cs&lt;br /&gt;
    HWND hwnd;&lt;br /&gt;
    HWND hwndInsertAfter;&lt;br /&gt;
    int x;&lt;br /&gt;
    int y;&lt;br /&gt;
    int cx;&lt;br /&gt;
    int cy;&lt;br /&gt;
    UINT flags;&lt;br /&gt;
#ce&lt;br /&gt;
    Local $stRect = DllStructCreate(&amp;quot;int;int;int;int&amp;quot;)&lt;br /&gt;
    Local $stWinPos = DllStructCreate(&amp;quot;uint;uint;int;int;int;int;uint&amp;quot;, $lParam)&lt;br /&gt;
    DllCall(&amp;quot;User32.dll&amp;quot;, &amp;quot;int&amp;quot;, &amp;quot;SystemParametersInfo&amp;quot;, &amp;quot;int&amp;quot;, $SPI_GETWORKAREA, &amp;quot;int&amp;quot;, 0, &amp;quot;ptr&amp;quot;, DllStructGetPtr($stRect), &amp;quot;int&amp;quot;, 0)&lt;br /&gt;
    Local $nLeft   = DllStructGetData($stRect, 1)&lt;br /&gt;
    Local $nTop = DllStructGetData($stRect, 2)&lt;br /&gt;
    Local $nRight  = DllStructGetData($stRect, 3) - DllStructGetData($stWinPos, 5)&lt;br /&gt;
    Local $nBottom = DllStructGetData($stRect, 4) - DllStructGetData($stWinPos, 6)&lt;br /&gt;
    If BitAND($nEdge, 1) and Abs($nLeft   - DllStructGetData($stWinPos, 3)) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 3, $nLeft)&lt;br /&gt;
    If BitAND($nEdge, 2) and Abs($nTop  - DllStructGetData($stWinPos, 4)) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 4, $nTop)&lt;br /&gt;
    If BitAND($nEdge, 4) and Abs($nRight  - DllStructGetData($stWinPos, 3)) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 3, $nRight)&lt;br /&gt;
    If BitAND($nEdge, 8) and Abs($nBottom - DllStructGetData($stWinPos, 4)) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 4, $nBottom)&lt;br /&gt;
    Return 0&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== GUI Snap To Corners ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 126-lazycat&lt;br /&gt;
 | AuthorName = Lazycat&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; GUI snap to corners&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;GUIConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global $nGap = 20&lt;br /&gt;
Global $ahGUI[3]&lt;br /&gt;
$ahGUI[0] = GUICreate(&amp;quot;Snapped window 1&amp;quot;, 300, 200, 100, 100)&lt;br /&gt;
GUISetState()&lt;br /&gt;
$ahGUI[1] = GUICreate(&amp;quot;Snapped window 2&amp;quot;, 300, 400, 300, 400)&lt;br /&gt;
GUISetState()&lt;br /&gt;
$ahGUI[2] = GUICreate(&amp;quot;Snapped window 3&amp;quot;, 150, 300, 500, 100)&lt;br /&gt;
GUISetState()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GUIRegisterMsg($WM_WINDOWPOSCHANGING, &amp;quot;MY_WM_WINDOWPOSCHANGING&amp;quot;)&lt;br /&gt;
While 1&lt;br /&gt;
    $GUIMsg = GUIGetMsg()&lt;br /&gt;
    Switch $GUIMsg&lt;br /&gt;
        Case $GUI_EVENT_CLOSE&lt;br /&gt;
            ExitLoop&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func MY_WM_WINDOWPOSCHANGING($hWnd, $Msg, $wParam, $lParam)&lt;br /&gt;
    Local $stWinPos = DllStructCreate(&amp;quot;uint;uint;int;int;int;int;uint&amp;quot;, $lParam)&lt;br /&gt;
    Local $nLeft   = DllStructGetData($stWinPos, 3)&lt;br /&gt;
    Local $nTop    = DllStructGetData($stWinPos, 4)&lt;br /&gt;
    $pos_cur = WinGetPos($hWnd)&lt;br /&gt;
    For $i = 0 To UBound($ahGUI) - 1&lt;br /&gt;
        If $hWnd = $ahGUI[$i] Then ContinueLoop&lt;br /&gt;
        $pos_win = WinGetPos($ahGUI[$i])&lt;br /&gt;
&lt;br /&gt;
        If Abs(($pos_win[0] + $pos_win[2]) - $nLeft) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 3, $pos_win[0] + $pos_win[2])&lt;br /&gt;
        If Abs($nLeft + $pos_cur[2] - $pos_win[0]) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 3, $pos_win[0] - $pos_cur[2])&lt;br /&gt;
&lt;br /&gt;
        If Abs(($pos_win[1] + $pos_win[3]) - $nTop) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 4, $pos_win[1] + $pos_win[3])&lt;br /&gt;
        If Abs($nTop + $pos_cur[3] - $pos_win[1]) &amp;lt;= $nGap Then DllStructSetData($stWinPos, 4, $pos_win[1] - $pos_cur[3])&lt;br /&gt;
    Next&lt;br /&gt;
    Return 0&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== TAB On TAB Resize ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 52-geosoft&lt;br /&gt;
 | AuthorName = GEOSoft&lt;br /&gt;
 | AuthorURL2 = 3602-martin&lt;br /&gt;
 | AuthorName2 = martin&lt;br /&gt;
 | AuthorURL3 = 5169-refran&lt;br /&gt;
 | AuthorName3 = ReFran&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Example of TAB On TAB Resize&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;GUIConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global $mainGUI, $ok_button, $cancel_button&lt;br /&gt;
&lt;br /&gt;
; This window has 2 ok/cancel-buttons&lt;br /&gt;
$mainGUI = GUICreate(&amp;quot;Tab on Tab Resize&amp;quot;, 260, 250, 20, 10, $WS_OVERLAPPEDWINDOW + $WS_CLIPCHILDREN + $WS_CLIPSIBLINGS)&lt;br /&gt;
GUISetStyle(BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_CAPTION, $WS_SIZEBOX, $WS_POPUP, $WS_SYSMENU))&lt;br /&gt;
GUISetBkColor(0x5686A9)&lt;br /&gt;
$ok_button = GUICtrlCreateButton(&amp;quot;OK&amp;quot;, 40, 220, 70, 20)&lt;br /&gt;
$cancel_button = GUICtrlCreateButton(&amp;quot;Cancel&amp;quot;, 150, 220, 70, 20)&lt;br /&gt;
&lt;br /&gt;
; Create the first child window that is implemented into the main GUI&lt;br /&gt;
$child1 = GUICreate(&amp;quot;&amp;quot;, 230, 170, 15, 35, BitOR($WS_CHILD, $WS_TABSTOP), -1, $mainGUI)&lt;br /&gt;
&lt;br /&gt;
GUISetBkColor(0x46860A)&lt;br /&gt;
$child_tab = GUICtrlCreateTab(10, 10, 210, 150)&lt;br /&gt;
GUICtrlSetResizing(-1, $GUI_DOCKAUTO)&lt;br /&gt;
$child11tab = GUICtrlCreateTabItem(&amp;quot;1&amp;quot;)&lt;br /&gt;
$child12tab = GUICtrlCreateTabItem(&amp;quot;2&amp;quot;)&lt;br /&gt;
GUICtrlCreateTabItem(&amp;quot;&amp;quot;)&lt;br /&gt;
GUISetState()&lt;br /&gt;
&lt;br /&gt;
; Create the second child window that is implemented into the main GUI&lt;br /&gt;
$child2 = GUICreate(&amp;quot;&amp;quot;, 230, 170, 15, 35, BitOR($WS_CHILD, $WS_TABSTOP), -1, $mainGUI)&lt;br /&gt;
GUISetBkColor(0x56869c)&lt;br /&gt;
$listview2 = GUICtrlCreateListView(&amp;quot;Col1|Col2&amp;quot;, 10, 10, 210, 150, -1, $WS_EX_CLIENTEDGE)&lt;br /&gt;
GUICtrlSetResizing(-1, $GUI_DOCKAUTO)&lt;br /&gt;
GUICtrlCreateListViewItem(&amp;quot;ItemLong1|ItemLong12&amp;quot;, $listview2)&lt;br /&gt;
GUICtrlCreateListViewItem(&amp;quot;ItemLong2|Item22&amp;quot;, $listview2)&lt;br /&gt;
;GUISetState()&lt;br /&gt;
&lt;br /&gt;
; Switch back the main GUI and create the tabs&lt;br /&gt;
GUISwitch($mainGUI)&lt;br /&gt;
$main_tab = GUICtrlCreateTab(10, 10, 240, 200)&lt;br /&gt;
$child1tab = GUICtrlCreateTabItem(&amp;quot;Child1&amp;quot;)&lt;br /&gt;
$child2tab = GUICtrlCreateTabItem(&amp;quot;Child2&amp;quot;)&lt;br /&gt;
GUICtrlCreateTabItem(&amp;quot;&amp;quot;)&lt;br /&gt;
GUISetState()&lt;br /&gt;
&lt;br /&gt;
GUIRegisterMsg($WM_SIZE, &#039;WM_SIZE&#039;)&lt;br /&gt;
Dim $tabItemLast = 0&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
    $msg = GUIGetMsg(1)&lt;br /&gt;
    Switch $msg[0]&lt;br /&gt;
        Case $GUI_EVENT_CLOSE, $cancel_button&lt;br /&gt;
            ExitLoop&lt;br /&gt;
&lt;br /&gt;
        Case $main_tab&lt;br /&gt;
            $tabItem = GUICtrlRead($main_tab)&lt;br /&gt;
            If $tabItem &amp;lt;&amp;gt; $tabItemLast Then TabSwitch($tabItem)&lt;br /&gt;
&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func TabSwitch($tabItem)&lt;br /&gt;
    GUISetState(@SW_HIDE, $child1)&lt;br /&gt;
    GUISetState(@SW_HIDE, $child2)&lt;br /&gt;
&lt;br /&gt;
    If $tabItem = 0 Then GUISetState(@SW_SHOW, $child1)&lt;br /&gt;
    If $tabItem = 1 Then GUISetState(@SW_SHOW, $child2)&lt;br /&gt;
    $tabItemLast = $tabItem&lt;br /&gt;
EndFunc   ;==&amp;gt;TabSwitch&lt;br /&gt;
&lt;br /&gt;
Func WM_SIZE($hWnd, $iMsg, $iWParam, $iLParam)&lt;br /&gt;
    $aMGPos = WinGetClientSize($mainGUI)&lt;br /&gt;
    WinMove($child1, &amp;quot;&amp;quot;, 15, 35, +$aMGPos[0] - 30, +$aMGPos[1] - 80)&lt;br /&gt;
    WinMove($child2, &amp;quot;&amp;quot;, 15, 35, +$aMGPos[0] - 30, +$aMGPos[1] - 80)&lt;br /&gt;
    ;Guictrlsetpos($child_tab,10,10,+$aMGPos[0]-50,+$aMGPos[1]-100)&lt;br /&gt;
    GUICtrlSetPos($main_tab, 10, 10, +$aMGPos[0] - 20, +$aMGPos[1] - 50)&lt;br /&gt;
    GUICtrlSetPos($listview2, 10, 10, +$aMGPos[0] - 30 - 20, +$aMGPos[1] - 80 - 20)&lt;br /&gt;
&lt;br /&gt;
EndFunc   ;==&amp;gt;WM_SIZE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _Toggle_CheckOrUnCheck ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
    Local $iCheckBox = GUICtrlCreateCheckbox(&#039;Example&#039;, 5, 10, 85, 25)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control is currently unchecked so this will toggle the state to checked.&lt;br /&gt;
    _Toggle_CheckOrUnCheck($iCheckBox)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control was changed to checked the last time _Toggle_CheckOrUnCheck was called, so now toggle the state to unchecked.&lt;br /&gt;
    _Toggle_CheckOrUnCheck($iCheckBox)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Toggle a control to either unchecked or checked, depending on it&#039;s current state.&lt;br /&gt;
Func _Toggle_CheckOrUnCheck($iControlID)&lt;br /&gt;
    Local $aState[2] = [$GUI_CHECKED, $GUI_UNCHECKED]&lt;br /&gt;
    GUICtrlSetState($iControlID, $aState[Number(BitAND(GUICtrlRead($iControlID), $aState[0]) = $aState[0])])&lt;br /&gt;
EndFunc   ;==&amp;gt;_Toggle_CheckOrUnCheck&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _Toggle_DropOrNoDrop ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WindowsConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;, 500, 500, -1, -1, -1, $WS_EX_ACCEPTFILES)&lt;br /&gt;
    Local $iLabel = GUICtrlCreateLabel(&#039;Example&#039;, 5, 10, 85, 25)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control is currently accepting no files to be dropped on it so this will toggle the state to allow dropped files.&lt;br /&gt;
    _Toggle_DropOrNoDrop($iLabel)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control was changed to allow dropped files the last time _Toggle_DropOrNoDrop was called, so now toggle the state to accept no dropping of files.&lt;br /&gt;
    _Toggle_DropOrNoDrop($iLabel)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Toggle a control to either accept or not accept dropped files, depending on it&#039;s current state.&lt;br /&gt;
Func _Toggle_DropOrNoDrop($iControlID)&lt;br /&gt;
    Local $aState[2] = [$GUI_DROPACCEPTED, $GUI_NODROPACCEPTED]&lt;br /&gt;
    GUICtrlSetState($iControlID, $aState[Number(BitAND(GUICtrlGetState($iControlID), $aState[0]) = $aState[0])])&lt;br /&gt;
EndFunc   ;==&amp;gt;_Toggle_DropOrNoDrop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _Toggle_EnableOrDisable ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
    Local $iButton = GUICtrlCreateButton(&#039;Example&#039;, 5, 10, 85, 25)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control is currently enabled so this will toggle the state to disabled.&lt;br /&gt;
    _Toggle_EnableOrDisable($iButton)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control was changed to disabled the last time _Toggle_EnableOrDisable was called, so now toggle the state to enabled.&lt;br /&gt;
    _Toggle_EnableOrDisable($iButton)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Toggle a control to either enabled or disabled, depending on it&#039;s current state.&lt;br /&gt;
Func _Toggle_EnableOrDisable($iControlID)&lt;br /&gt;
    Local $aState[2] = [$GUI_ENABLE, $GUI_DISABLE]&lt;br /&gt;
    GUICtrlSetState($iControlID, $aState[Number(BitAND(GUICtrlGetState($iControlID), $aState[0]) = $aState[0])])&lt;br /&gt;
EndFunc   ;==&amp;gt;_Toggle_EnableOrDisable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _Toggle_FocusOrNoFocus ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
    Local $iButton = GUICtrlCreateButton(&#039;Example&#039;, 5, 10, 85, 25)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control is currently not focused so this will toggle the state to focused.&lt;br /&gt;
    _Toggle_FocusOrNoFocus($iButton)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control was changed to focused the last time _Toggle_FocusOrNoFocus was called, so now toggle the state to not focused.&lt;br /&gt;
    _Toggle_FocusOrNoFocus($iButton)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Toggle a control to either focused or not focused, depending on it&#039;s current state.&lt;br /&gt;
Func _Toggle_FocusOrNoFocus($iControlID)&lt;br /&gt;
    Local $aState[2] = [$GUI_FOCUS, $GUI_NOFOCUS]&lt;br /&gt;
    GUICtrlSetState($iControlID, $aState[Number(BitAND(GUICtrlGetState($iControlID), $aState[0]) = $aState[0])])&lt;br /&gt;
EndFunc   ;==&amp;gt;_Toggle_FocusOrNoFocus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _Toggle_ShowOrHide ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
    Local $iButton = GUICtrlCreateButton(&#039;Example&#039;, 5, 10, 85, 25)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control is currently shown so this will toggle the state to hide.&lt;br /&gt;
    _Toggle_ShowOrHide($iButton)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    ; The control was changed to hide the last time _Toggle_ShowOrHide was called, so now toggle the state to show.&lt;br /&gt;
    _Toggle_ShowOrHide($iButton)&lt;br /&gt;
&lt;br /&gt;
    ; Sleep for 2 seconds.&lt;br /&gt;
    Sleep(2000)&lt;br /&gt;
&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Toggle a control to either show or hide, depending on it&#039;s current state.&lt;br /&gt;
Func _Toggle_ShowOrHide($iControlID)&lt;br /&gt;
    Local $aState[2] = [$GUI_SHOW, $GUI_HIDE]&lt;br /&gt;
    GUICtrlSetState($iControlID, $aState[Number(BitAND(GUICtrlGetState($iControlID), $aState[0]) = $aState[0])])&lt;br /&gt;
EndFunc   ;==&amp;gt;_Toggle_ShowOrHide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Unmovable Window ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 19384-wemartiansarefriendly&lt;br /&gt;
 | AuthorName = WeMartiansAreFriendly&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global $nConstXpos = @DesktopWidth/2        ;define the constant x position&lt;br /&gt;
Global $nConstYpos = @DesktopHeight/2   ;define the constant y position&lt;br /&gt;
&lt;br /&gt;
$hGUI = GUICreate(&amp;quot;Unmovable Window&amp;quot;, 300, 200, $nConstXpos, $nConstYpos)&lt;br /&gt;
&lt;br /&gt;
GUIRegisterMsg($WM_WINDOWPOSCHANGING, &amp;quot;MY_WM_WINDOWPOSCHANGING&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
GUISetState()&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
    $GUIMsg = GUIGetMsg()&lt;br /&gt;
&lt;br /&gt;
    Switch $GUIMsg&lt;br /&gt;
        Case $GUI_EVENT_CLOSE&lt;br /&gt;
            ExitLoop&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func MY_WM_WINDOWPOSCHANGING($hWnd, $Msg, $wParam, $lParam)&lt;br /&gt;
    Local $stWinPos = DllStructCreate(&amp;quot;uint hwnd;uint hwndInsertAfter;int x;int y;int cx;int cy;uint flags&amp;quot;, $lParam)&lt;br /&gt;
&lt;br /&gt;
    DllStructSetData($stWinPos, &amp;quot;x&amp;quot;, $nConstXpos)&lt;br /&gt;
    DllStructSetData($stWinPos, &amp;quot;y&amp;quot;, $nConstYpos)&lt;br /&gt;
    Return 0&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== Window Drag Using GUIRegister ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 20477-mrcreator&lt;br /&gt;
 | AuthorName = MrCreatoR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Window Drag using GUIRegister&lt;br /&gt;
#include &amp;lt;GuiConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global Const $WM_LBUTTONDOWN = 0x0201&lt;br /&gt;
;Global Const $WM_SYSCOMMAND = 0x0112&lt;br /&gt;
&lt;br /&gt;
$Gui = GuiCreate(&amp;quot;Test&amp;quot;, 200, 100, -1, -1, $WS_POPUP, $WS_EX_DLGMODALFRAME)&lt;br /&gt;
GuiRegisterMsg($WM_LBUTTONDOWN, &amp;quot;_WinMove&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
GUISetState()&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
    $Msg = GUIGetMsg()&lt;br /&gt;
    Switch $Msg&lt;br /&gt;
        Case -3&lt;br /&gt;
            Exit&lt;br /&gt;
    EndSwitch&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func _WinMove($HWnd, $Command, $wParam, $lParam)&lt;br /&gt;
    If BitAND(WinGetState($HWnd), 32) Then Return $GUI_RUNDEFMSG&lt;br /&gt;
    DllCall(&amp;quot;user32.dll&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;SendMessage&amp;quot;, &amp;quot;hwnd&amp;quot;, $HWnd, &amp;quot;int&amp;quot;, $WM_SYSCOMMAND, &amp;quot;int&amp;quot;, 0xF009, &amp;quot;int&amp;quot;, 0)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== WinGetTrans ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;WinAPI.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Set the transparency of a GUI between 0 and 255. 255 = Solid, 0 = Invisible.&lt;br /&gt;
    WinSetTrans($hGUI, &#039;&#039;, 100)&lt;br /&gt;
&lt;br /&gt;
    MsgBox(4096, &#039;&#039;, &#039;The transparency of the GUI is: &#039; &amp;amp; WinGetTrans($hGUI) &amp;amp; &#039;, this should be 100.&#039;)&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
; Find the transparency of a GUI.&lt;br /&gt;
Func WinGetTrans($sTitle, $sText = &#039;&#039;) ; By Valik - http://www.autoitscript.com/forum/topic/...gettrans/page__view__findpost_&lt;br /&gt;
    Local $iTransColor = 0, $iTransparency = 255&lt;br /&gt;
    _WinAPI_GetLayeredWindowAttributes(WinGetHandle($sTitle, $sText), $iTransColor, $iTransparency)&lt;br /&gt;
    Return $iTransparency&lt;br /&gt;
EndFunc   ;==&amp;gt;WinGetTrans&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;br /&gt;
&lt;br /&gt;
== _WorkingArea ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;APIConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;GUIConstantsEx.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;WinAPI.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example()&lt;br /&gt;
&lt;br /&gt;
Func Example()&lt;br /&gt;
    ; Set the working area of the Desktop, in this case 120px to the left and retaining the same height and width.&lt;br /&gt;
    Local $aWorkingArea = _WorkingArea(150, Default, Default, Default)&lt;br /&gt;
&lt;br /&gt;
    ; Create the GUI.&lt;br /&gt;
    Local $hGUI = GUICreate(&#039;&#039;, 150, $aWorkingArea[1], $aWorkingArea[2], $aWorkingArea[3], $WS_POPUP)&lt;br /&gt;
    Local $iClose = GUICtrlCreateButton(&#039;Close&#039;, 5, 5, 150 - 10, 25)&lt;br /&gt;
    GUISetState(@SW_SHOW, $hGUI)&lt;br /&gt;
&lt;br /&gt;
    While 1&lt;br /&gt;
        Switch GUIGetMsg()&lt;br /&gt;
            Case $GUI_EVENT_CLOSE, $iClose&lt;br /&gt;
                ExitLoop&lt;br /&gt;
&lt;br /&gt;
        EndSwitch&lt;br /&gt;
    WEnd&lt;br /&gt;
&lt;br /&gt;
    ; Delete the GUI.&lt;br /&gt;
    GUIDelete($hGUI)&lt;br /&gt;
&lt;br /&gt;
    ; Reset the working area to the previous values.&lt;br /&gt;
    _WorkingArea()&lt;br /&gt;
EndFunc   ;==&amp;gt;Example&lt;br /&gt;
&lt;br /&gt;
Func _WorkingArea($iLeft = Default, $iTop = Default, $iWidth = Default, $iHeight = Default)&lt;br /&gt;
    Local Static $tWorkArea = 0&lt;br /&gt;
    If IsDllStruct($tWorkArea) Then&lt;br /&gt;
        _WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tWorkArea), $SPIF_SENDCHANGE)&lt;br /&gt;
        $tWorkArea = 0&lt;br /&gt;
    Else&lt;br /&gt;
        $tWorkArea = DllStructCreate($tagRECT)&lt;br /&gt;
        _WinAPI_SystemParametersInfo($SPI_GETWORKAREA, 0, DllStructGetPtr($tWorkArea))&lt;br /&gt;
&lt;br /&gt;
        Local $tCurrentArea = DllStructCreate($tagRECT)&lt;br /&gt;
        Local $aArray[4] = [$iLeft, $iTop, $iWidth, $iHeight]&lt;br /&gt;
        For $i = 0 To 3&lt;br /&gt;
            If $aArray[$i] = Default Or $aArray[$i] &amp;lt; 0 Then&lt;br /&gt;
                $aArray[$i] = DllStructGetData($tWorkArea, $i + 1)&lt;br /&gt;
            EndIf&lt;br /&gt;
            DllStructSetData($tCurrentArea, $i + 1, $aArray[$i])&lt;br /&gt;
            $aArray[$i] = DllStructGetData($tWorkArea, $i + 1)&lt;br /&gt;
        Next&lt;br /&gt;
        _WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tCurrentArea), $SPIF_SENDCHANGE)&lt;br /&gt;
        $aArray[2] -= $aArray[0]&lt;br /&gt;
        $aArray[3] -= $aArray[1]&lt;br /&gt;
        Local $aReturn[4] = [$aArray[2], $aArray[3], $aArray[0], $aArray[1]]&lt;br /&gt;
        Return $aReturn&lt;br /&gt;
    EndIf&lt;br /&gt;
EndFunc   ;==&amp;gt;_WorkingArea&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | ReturnToContents]]&lt;/div&gt;</summary>
		<author><name>Kyo</name></author>
	</entry>
</feed>