Permalink
Browse files

v1.1.23.00

  • Loading branch information...
1 parent 7ef12fe commit 3e61fbb42929b828317e3e4af50720fa806c07e0 @Lexikos committed Jan 16, 2016
View
@@ -173,12 +173,15 @@ docs\commands\ListHotkeys.htm
docs\commands\ListLines.htm
docs\commands\ListVars.htm
docs\commands\ListView.htm
+docs\commands\LoadPicture.htm
docs\commands\Loop.htm
docs\commands\LoopFile.htm
docs\commands\LoopParse.htm
docs\commands\LoopReadFile.htm
docs\commands\LoopReg.htm
docs\commands\Menu.htm
+docs\commands\MenuGetHandle.htm
+docs\commands\MenuGetName.htm
docs\commands\MouseClick.htm
docs\commands\MouseClickDrag.htm
docs\commands\MouseGetPos.htm
@@ -295,6 +298,7 @@ docs\misc\Clipboard.htm
docs\misc\CLSID-List.htm
docs\misc\ErrorLevel.htm
docs\misc\FontsStandard.htm
+docs\misc\ImageHandles.htm
docs\misc\Labels.htm
docs\misc\Languages.htm
docs\misc\Macros.htm
@@ -15,6 +15,24 @@
<p>For older changes, see <a href="ChangeLogHelp.htm">Archived Changes</a>.</p>
<!--new revisions go here-->
+<h2 id="v1.1.23.00">1.1.23.00 - January 16, 2016</h2>
+<p>Added <a href="commands/Menu.htm#Insert">Menu Insert</a> sub-command.</p>
+<p>Added <a href="commands/MenuGetHandle.htm">MenuGetHandle()</a>.</p>
+<p>Added <a href="commands/MenuGetName.htm">MenuGetName()</a>.</p>
+<p>Added menu item options: Radio, Right, Break and BarBreak.</p>
+<p>Improved the Menu command to allow identifying items by position: <code>1&amp;</code></p>
+<p>Added <a href="commands/LoadPicture.htm">LoadPicture()</a>.</p>
+<p>Added <a href="misc/ImageHandles.htm">hicon/hbitmap: syntax</a> for passing handles to commands which normally load an image from file.</p>
+<p>Added built-in variables: A_CoordModeToolTip/Pixel/Mouse/Caret/Menu, A_DefaultGui, A_DefaultListView, A_DefaultTreeView, A_KeyDelayPlay, A_KeyDuration/Play, A_MouseDelayPlay, A_SendLevel, A_SendMode and A_StoreCapslockMode.</p>
+<p>Added <code>Ix</code> Hotkey option to set the hotkey variant's input level to x.</p>
+<p>Improved Picture control to support BackgroundTrans with icons.</p>
+<p>Improved Picture control to reduce flicker when loading large images.</p>
+<p>Small optimizations to the menu code and built-in var lookups.</p>
+<p>Fixed conversion of menu items to/from separators.</p>
+<p>Fixed A_ThisMenuItemPos to support duplicate item names.</p>
+<p>Fixed sub-menus sometimes not being recreated after a menu is deleted.</p>
+<p>Fixed AutoHotkeyXXX.exe to launch AutoHotkey.chm, not AutoHotkeyXXX.chm.</p>
+
<h2 id="v1.1.22.09">1.1.22.09 - November 11, 2015</h2>
<p>Fixed some issues with SetTimer Delete.</p>
<ul>
View
@@ -11,7 +11,7 @@
<body>
<a id="ahklogo" href="./"><img src="static/ahk_logo.png" border="0" alt="AutoHotkey"></a>
-<h1>Version <a href="AHKL_ChangeLog.htm">v<!--ver-->1.1.22.09<!--/ver--></a></h1>
+<h1>Version <a href="AHKL_ChangeLog.htm">v<!--ver-->1.1.23.00<!--/ver--></a></h1>
<p><a href="http://ahkscript.org">http://ahkscript.org</a></p>
<p>&copy;2003-2014 Chris Mallett, portions &copy;<a href="http://www.autoitscript.com/">AutoIt Team</a> and the AHK community</p>
<p style="font-size:85%">Software License: <a href="license.htm">GNU General Public License</a></p>
View
@@ -463,9 +463,27 @@ <h3 id="settings">Script Settings</h3>
<td>A_FormatFloat</td>
<td>The current floating point number format set by <a href="commands/SetFormat.htm">SetFormat</a>.</td>
</tr>
+ <tr id="SendMode">
+ <td>A_SendMode</td>
+ <td><span class="ver">[v1.1.23+]:</span> The current mode (Event, Input, Play or InputThenPlay) set by <a href="commands/SendMode.htm">SendMode</a>.</td>
+ </tr>
+ <tr id="SendLevel">
+ <td>A_SendLevel</td>
+ <td><span class="ver">[v1.1.23+]:</span> The current <a href="commands/SendLevel.htm">SendLevel</a> setting (an integer between 0 and 100, inclusive).</td>
+ </tr>
+ <tr id="StoreCapslockMode">
+ <td>A_StoreCapslockMode</td>
+ <td><span class="ver">[v1.1.23+]:</span> The current mode (On or Off) set by <a href="commands/SetStoreCapslockMode.htm">SetStoreCapslockMode</a>.</td>
+ </tr>
<tr id="KeyDelay">
- <td>A_KeyDelay</td>
- <td>The current delay set by <a href="commands/SetKeyDelay.htm">SetKeyDelay</a> (always decimal, not hex). This delay is for the traditional SendEvent mode, not <a href="commands/Send.htm#SendPlayDetail">SendPlay</a>.</td>
+ <td>A_KeyDelay<br>
+ A_KeyDuration</td>
+ <td>The current delay or duration set by <a href="commands/SetKeyDelay.htm">SetKeyDelay</a> (always decimal, not hex). A_KeyDuration requires <span class="ver">[v1.1.23+]</span>.</td>
+ </tr>
+ <tr id="KeyDelayPlay">
+ <td>A_KeyDelayPlay<br>
+ A_KeyDurationPlay</td>
+ <td>The current delay or duration set by <a href="commands/SetKeyDelay.htm">SetKeyDelay</a> for the <a href="commands/Send.htm#SendPlayDetail">SendPlay</a> mode (always decimal, not hex). Requires <span class="ver">[v1.1.23+]</span>.</td>
</tr>
<tr id="WinDelay">
<td>A_WinDelay</td>
@@ -476,13 +494,22 @@ <h3 id="settings">Script Settings</h3>
<td>The current delay set by <a href="commands/SetControlDelay.htm">SetControlDelay</a> (always decimal, not hex).</td>
</tr>
<tr id="MouseDelay">
- <td>A_MouseDelay</td>
- <td>The current delay set by <a href="commands/SetMouseDelay.htm">SetMouseDelay</a> (always decimal, not hex). This delay is for the traditional SendEvent mode, not <a href="commands/Send.htm#SendPlayDetail">SendPlay</a>.</td>
+ <td>A_MouseDelay<br>
+ A_MouseDelayPlay</td>
+ <td>The current delay set by <a href="commands/SetMouseDelay.htm">SetMouseDelay</a> (always decimal, not hex). A_MouseDelay is for the traditional SendEvent mode, whereas A_MouseDelayPlay is for <a href="commands/Send.htm#SendPlayDetail">SendPlay</a>. A_MouseDelayPlay requires <span class="ver">[v1.1.23+]</span>.</td>
</tr>
<tr id="DefaultMouseSpeed">
<td>A_DefaultMouseSpeed</td>
<td>The current speed set by <a href="commands/SetDefaultMouseSpeed.htm">SetDefaultMouseSpeed</a> (always decimal, not hex).</td>
</tr>
+ <tr id="CoordMode">
+ <td>A_CoordModeToolTip<br>
+ A_CoordModePixel<br>
+ A_CoordModeMouse<br>
+ A_CoordModeCaret<br>
+ A_CoordModeMenu</td>
+ <td><span class="ver">[v1.1.23+]:</span> The current mode (Window, Client or Screen) set by <a href="commands/CoordMode.htm">CoordMode</a>.</td>
+ </tr>
<tr id="RegView">
<td>A_RegView</td>
<td><span class="ver">[v1.1.08+]:</span> The current registry view as set by <a href="commands/SetRegView.htm">SetRegView</a>.</td>
@@ -517,6 +544,18 @@ <h3 id="settings">Script Settings</h3>
</table>
<h3>GUI Windows and Menu Bars</h3>
<table class="info">
+ <tr id="DefaultGui">
+ <td>A_DefaultGui <span class="ver">[v1.1.23+]</span></td>
+ <td>The name or number of the current thread's <a href="commands/Gui.htm#Default">default GUI</a>.</td>
+ </tr>
+ <tr id="DefaultListView">
+ <td>A_DefaultListView <span class="ver">[v1.1.23+]</span></td>
+ <td>The <a href="commands/Gui.htm#Events">variable name</a> or <a href="commands/Gui.htm#HwndOutputVar">HWND</a> of the <a href="commands/ListView.htm">ListView control</a> upon which the <a href="commands/ListView.htm#BuiltIn">ListView functions</a> operate. If the default GUI lacks a ListView, this variable is blank.</td>
+ </tr>
+ <tr id="DefaultTreeView">
+ <td>A_DefaultTreeView <span class="ver">[v1.1.23+]</span></td>
+ <td>The <a href="commands/Gui.htm#Events">variable name</a> or <a href="commands/Gui.htm#HwndOutputVar">HWND</a> of the <a href="commands/TreeView.htm">TreeView control</a> upon which the <a href="commands/TreeView.htm#BuiltIn">TreeView functions</a> operate. If the default GUI lacks a TreeView, this variable is blank.</td>
+ </tr>
<tr id="Gui">
<td>A_Gui</td>
<td>The name or number of the <a href="commands/Gui.htm">GUI</a> that launched the <a href="misc/Threads.htm">current thread</a>. This variable is blank unless a Gui control, menu bar item, or event such as GuiClose/GuiEscape launched the current thread.</td>
@@ -38,6 +38,7 @@
<h3>Remarks</h3>
<p>If this command is not used, all commands except those documented otherwise (e.g. <a href="WinMove.htm">WinMove</a> and <a href="InputBox.htm">InputBox</a>) use coordinates that are relative to the active window.</p>
<p>Every newly launched <a href="../misc/Threads.htm">thread</a> (such as a <a href="../Hotkeys.htm">hotkey</a>, <a href="Menu.htm">custom menu item</a>, or <a href="SetTimer.htm">timed</a> subroutine) starts off fresh with the default setting for this command. That default may be changed by using this command in the auto-execute section (top part of the script).</p>
+<p><span class="ver">[v1.1.23+]:</span> The built-in <a href="../Variables.htm#CoordMode">A_CoordMode variables</a> contain the current settings.</p>
<h3>Related</h3>
<p><a href="Click.htm">Click</a>, <a href="MouseMove.htm">MouseMove</a>, <a href="MouseClick.htm">MouseClick</a>, <a href="MouseClickDrag.htm">MouseClickDrag</a>, <a href="MouseGetPos.htm">MouseGetPos</a>, <a href="PixelGetColor.htm">PixelGetColor</a>, <a href="PixelSearch.htm">PixelSearch</a>, <a href="ToolTip.htm">ToolTip</a>, <a href="Menu.htm">Menu</a></p>
<h3>Example</h3>
@@ -235,6 +235,7 @@ <h2 id="Flash">Gui, Flash [, Off]</h2>
<h2 id="Default">Gui, GuiName:Default</h2>
<p>Changes the <a href="../misc/Threads.htm">current thread</a>'s default <a href="#MultiWin">GUI window name</a>, which is used whenever a window name is not specified for <a href="GuiControl.htm">GuiControl</a>, <a href="GuiControlGet.htm">GuiControlGet</a>, and the Gui command itself. In the following example, the default window name is changed to &quot;MyGui&quot;: <code>Gui MyGui:Default</code>. See <a href="#DefaultWin">thread's default window</a> for more information about the default window.</p>
+<p><span class="ver">[v1.1.23+]:</span> The built-in variable <a href="../Variables.htm#DefaultGui">A_DefaultGui</a> contains the name or number of the default GUI.</p>
<h2 id="Position">Positioning and Layout via SmartGUI Creator</h2>
<p>Although the options described in the next section are suitable for simple layouts, you may find it easier to use Rajat's SmartGUI Creator because it's entirely visual; that is, &quot;what you see is what you get&quot;. SmartGUI Creator is free and can be downloaded from <a href="http://www.autohotkey.com/docs/SmartGUI/">www.autohotkey.com/docs/SmartGUI/</a></p>
@@ -38,7 +38,7 @@
<p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if the specified window/control does not exist or some other problem prevented the command from working. Otherwise, it is set to 0.</p>
<h3>Sub-commands</h3>
<p><strong>(Blank)</strong>: Leave <em>Sub-command</em> blank to put new contents into the control via <em>Param3</em>. Specifically:</p>
-<p><a href="GuiControls.htm#Picture">Picture</a>: <em>Param3</em> should be the filename of the new image to load (see <a href="GuiControls.htm#Picture">Gui Picture</a> for supported file types). Zero or more of the following options may be specified immediately in front of the filename: <code>*wN</code> (width N), <code>*hN</code> (height N), and <code>*IconN</code> (icon group number N in a DLL or EXE file). In the following example, the default icon from the second icon group is loaded with a width of 100 and an automatic height via &quot;keep aspect ratio&quot;: <code>GuiControl,, MyPic, *icon2 *w100 *h-1 C:\My Application.exe</code>. Specify <code>*w0 *h0</code> to use the image's actual width and height. If <code>*w</code> and <code>*h</code> are omitted, the image will be scaled to fit the current size of the control. When loading from a multi-icon .ICO file, specifying a width and height also determines which icon to load. Note: Use only one space or tab between the final option and the filename itself; any other spaces and tabs are treated as part of the filename.</p>
+<p><a href="GuiControls.htm#Picture">Picture</a>: <em>Param3</em> should be the filename (or <a href="../misc/ImageHandles.htm">handle</a>) of the new image to load (see <a href="GuiControls.htm#Picture">Gui Picture</a> for supported file types). Zero or more of the following options may be specified immediately in front of the filename: <code>*wN</code> (width N), <code>*hN</code> (height N), and <code>*IconN</code> (icon group number N in a DLL or EXE file). In the following example, the default icon from the second icon group is loaded with a width of 100 and an automatic height via &quot;keep aspect ratio&quot;: <code>GuiControl,, MyPic, *icon2 *w100 *h-1 C:\My Application.exe</code>. Specify <code>*w0 *h0</code> to use the image's actual width and height. If <code>*w</code> and <code>*h</code> are omitted, the image will be scaled to fit the current size of the control. When loading from a multi-icon .ICO file, specifying a width and height also determines which icon to load. Note: Use only one space or tab between the final option and the filename itself; any other spaces and tabs are treated as part of the filename.</p>
<p><a href="GuiControls.htm#Text">Text</a>/<a href="GuiControls.htm#Button">Button</a>/<a href="GuiControls.htm#GroupBox">GroupBox</a>/<a href="GuiControls.htm#StatusBar">StatusBar</a>: Specify for <em>Param3</em> the control's new text. Since the control will not expand automatically, use <code><a href="#Move">GuiControl, Move, MyText, W300</a></code> if the control needs to be widened. For <a href="GuiControls.htm#StatusBar">StatusBar</a>, this sets the text of the first part only (use <a href="GuiControls.htm#SB_SetText">SB_SetText()</a> for greater flexibility).</p>
<p><a href="GuiControls.htm#Edit">Edit</a>: Any linefeeds (`n) in <em>Param3</em> that lack a preceding carriage return (`r) are automatically translated to CR+LF (`r`n) to make them display properly. However, this is usually not a concern because the <code>Gui Submit</code> and <code>GuiControlGet OutputVar</code> commands will automatically undo this translation by replacing CR+LF with LF (`n).</p>
<p><a href="GuiControls.htm#Hotkey">Hotkey</a>: <em>Param3</em> can be blank to clear the control, or a set of modifiers with a key name. Examples: <code>^!c</code>, <code>^Numpad1</code>, <code>+Home</code>. The only modifiers supported are ^ (Control), ! (Alt), and + (Shift). See the <a href="../KeyList.htm">key list</a> for available key names.</p>
@@ -102,9 +102,10 @@ <h2 id="Picture">Picture (or Pic)</h2>
<p>A <a href="Gui.htm#label">g-label</a> such as <code><strong>g</strong>MySubroutine</code> may be listed in the control's options. This would cause the <em>MySubroutine</em> label to be launched automatically whenever the user clicks the picture. A double-click can be detected by checking whether <a href="../Variables.htm#GuiEvent">A_GuiEvent</a> contains the word DoubleClick.</p>
<p>To use a picture as a background for other controls, the picture should normally be added prior to those controls. However, if those controls are input-capable and the picture has a <a href="Gui.htm#label">g-label</a>, create the picture after the other controls and include <code>0x4000000</code> (which is WS_CLIPSIBLINGS) in the picture's <em>Options</em>. This trick also allows a picture to be the background behind a <a href="#Tab">Tab control</a> or <a href="ListView.htm">ListView</a>.</p>
<p><strong>Icons, cursors, and animated cursors</strong>: Icons and cursors may be loaded from the following types of files: ICO, CUR, ANI, EXE, DLL, CPL, SCR, and other types that contain icon resources. To use an icon group other than the first one in the file, include in <em>Options</em> the word Icon followed by the number of the group. In the following example, the default icon from the second icon group would be used: <code>Gui, Add, Picture, Icon2, C:\My Application.exe</code>.</p>
-<p><a name="PicAltSubmit"></a>Specifying the word AltSubmit in <em>Options</em> tells the program to use Microsoft's GDIPlus.dll to load the image, which might result in a different appearance for GIF, BMP, and icon images. For example, it would load an ICO/GIF that has a transparent background as a transparent bitmap, which allows the <a href="Gui.htm#BackgroundTrans">BackgroundTrans</a> option to take effect. If GDIPlus is not available (see next paragraph), AltSubmit is ignored and the image is loaded using the normal method.</p>
+<p><a name="PicAltSubmit"></a>Specifying the word AltSubmit in <em>Options</em> tells the program to use Microsoft's GDIPlus.dll to load the image, which might result in a different appearance for GIF, BMP, and icon images. For example, it would load an ICO/GIF that has a transparent background as a transparent bitmap, which allows the <a href="Gui.htm#BackgroundTrans">BackgroundTrans</a> option to take effect (but in <span class="ver">[v1.1.23+]</span>, icons support transparency without AltSubmit). If GDIPlus is not available (see next paragraph), AltSubmit is ignored and the image is loaded using the normal method.</p>
<p>All operating systems support GIF, JPG, BMP, ICO, CUR, and ANI images. On Windows XP or later, additional image formats such as PNG, TIF, Exif, WMF, and EMF are supported. Operating systems older than XP can be given support by copying Microsoft's free GDI+ DLL into the AutoHotkey.exe folder (but in the case of a <a href="../Scripts.htm#ahk2exe">compiled script</a>, copy the DLL into the script's folder). To download the DLL, search for the following phrase at <a href="http://www.microsoft.com">www.microsoft.com</a>: gdi redistributable</p>
<p><strong>Animated GIFs</strong>: Although animated GIF files can be displayed in a picture control, they will not actually be animated. To solve this, use the AniGIF DLL (which is free for non-commercial use) as demonstrated at <a href="http://www.autohotkey.com/forum/topic19264.html">www.autohotkey.com/forum/topic19264.html</a></p>
+<p><span class="ver">[v1.1.23+]:</span> A <a href="../misc/ImageHandles.htm">bitmap or icon handle</a> can be used instead of a filename. For example, <code>HBITMAP:%handle%</code>.</p>
<h2 id="Button">Button</h2>
<p>Description: A pushbutton, which can be pressed to trigger an action. In this case, the last parameter is the name of the button (shown on the button itself), which may include linefeeds (`n) to start new lines. Example:</p>
<pre>Gui, Add, Button, Default, OK</pre>
@@ -338,6 +339,7 @@ <h2 id="StatusBar">StatusBar<span class="ver">[v1.0.44+]</span></h2>
<p>Displays a small icon to the left of the text in the specified part (if <em>PartNumber</em> is omitted, it defaults to 1). <em>Filename</em> is the name of an icon (.ICO), cursor (.CUR), or animated cursor (.ANI) file (animated cursors will not actually be animated in the bar). Other sources of icons include the following types of files: EXE, DLL, CPL, SCR, and other types that contain icon resources. To use an icon group other than the first one in the file, specify its number for <em>IconNumber</em>. For example, <code>SB_SetIcon(&quot;Shell32.dll&quot;, 2)</code> would use the default icon from the second icon group. If <em>IconNumber</em> is negative, its absolute value is assumed to be the resource ID of an icon within an executable file. SB_SetIcon() returns the icon's HICON upon success and 0 upon failure. The HICON is a system resource that can be safely ignored by most scripts because it is destroyed automatically when the status bar's window is destroyed. Similarly, any old icon is destroyed when SB_SetIcon() replaces it with a new one. This can be avoided via:</p>
<pre>Gui +LastFound
<a href="PostMessage.htm">SendMessage</a>, 0x40F, part_number - 1, my_hIcon, msctls_statusbar321 <em>; 0x40F is SB_SETICON.</em></pre>
+<p><span class="ver">[v1.1.23+]:</span> An <a href="../misc/ImageHandles.htm">icon handle</a> can be used instead of a filename. For example, <code>SB_SetIcon("HICON:" handle)</code>.</p>
<h3><a name="SB_SetProgress"></a>SB_SetProgress()</h3>
<p>Creates and controls a progress bar inside the status bar. This function is available at <a href="http://www.autohotkey.com/forum/topic37754.html">www.autohotkey.com/forum/topic37754.html</a></p>
<h3>G-Label Notifications</h3>
Oops, something went wrong.

0 comments on commit 3e61fbb

Please sign in to comment.