wxExtend/appbar_8h_source.html

1560 lines
260 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>wxExtend: include/wxex/appbar.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">wxExtend
</div>
<div id="projectbrief">Additional templates and function helpers for wxWidgets</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_2fafa5ce03815a2bdea8d271fa718211.html">wxex</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">appbar.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> SPDX-License-Identifier: GPL-3.0-or-later</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Copyright © 2015-2022 Amebis</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> Copyright © 2016 GÉANT</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> Based on code written by Jeffrey Richter.</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">*/</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;common.h&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;codeanalysis\warnings.h&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#pragma warning(push)</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;wx/dialog.h&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;wx/frame.h&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;wx/string.h&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#pragma warning(pop)</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;Windowsx.h&gt;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;shellapi.h&gt;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;ShlObj.h&gt;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga35adecc26a1a7e1a88f27bce2b220e3f"> 31</a></span><span class="preprocessor">#define wxABT_AUTOHIDETIMERID 1</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga05a18a821590aaed11fe1e779b32b8f0"> 36</a></span><span class="preprocessor">#define wxABT_AUTOHIDETIME 300</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga734516e6fc45702ae4623703f7d32fb9"> 41</a></span><span class="preprocessor">#define wxABT_AUTOHIDETIMERINTERVAL 3000</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga28549a910dbd9c7222691b22f7aee628"> 52</a></span><span class="preprocessor">#define WM_AB_NOTIFY 0x6f00</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c"> 58</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> UNKNOWN = -2,</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">FLOAT</a> = -1, </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">LEFT</a> = ABE_LEFT, </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63">TOP</a> = ABE_TOP, </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403">RIGHT</a> = ABE_RIGHT, </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">BOTTOM</a> = ABE_BOTTOM, </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>};</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gaaf93b901e974b0cd4438b69170175ca2"> 71</a></span><span class="preprocessor">#define wxABF_ALLOWFLOAT (1 &lt;&lt; 0) </span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga3ac6f7a930800c924b98669345501a0e"> 72</a></span><span class="preprocessor">#define wxABF_ALLOWDOCKTOP (1 &lt;&lt; 1) </span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga46d6172160c331b0265dd632e822a84f"> 73</a></span><span class="preprocessor">#define wxABF_ALLOWDOCKBOTTOM (1 &lt;&lt; 2) </span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga01ff72cdb36f317323b5b085ee7c3b46"> 74</a></span><span class="preprocessor">#define wxABF_ALLOWDOCKLEFT (1 &lt;&lt; 3) </span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gac4c88cf9104926e6b97159eeb8c1fc46"> 75</a></span><span class="preprocessor">#define wxABF_ALLOWDOCKRIGHT (1 &lt;&lt; 4) </span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga8b5409e774169b35811b8cbe6d7279e7"> 76</a></span><span class="preprocessor">#define wxABF_ALLOWDOCKANY (wxABF_ALLOWDOCKTOP | wxABF_ALLOWDOCKBOTTOM | wxABF_ALLOWDOCKLEFT | wxABF_ALLOWDOCKRIGHT) </span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gaf4d0bd870e5e968f3ac19da071e98d48"> 77</a></span><span class="preprocessor">#define wxABF_ALLOWDOCKHORIZONTAL (wxABF_ALLOWDOCKTOP | wxABF_ALLOWDOCKBOTTOM) </span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga46877b506b1ba394fafb8668afefe4b4"> 78</a></span><span class="preprocessor">#define wxABF_ALLOWDOCKVERTICAL (wxABF_ALLOWDOCKLEFT | wxABF_ALLOWDOCKRIGHT) </span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gaeea26e3d219f41ba21f5ac0328887b42"> 79</a></span><span class="preprocessor">#define wxABF_ALLOWANY (wxABF_ALLOWFLOAT | wxABF_ALLOWDOCKANY) </span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gac61c13faaa3315da305dff70922f718f"> 81</a></span><span class="preprocessor">#define wxABF_ALWAYSONTOP (1 &lt;&lt; 5) </span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gad1a25b75ef14d5ef36d4a21b4f7d2ba3"> 82</a></span><span class="preprocessor">#define wxABF_ALWAYSONTOPTASKBAR (1 &lt;&lt; 6) </span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga73648c67f839edae65a374b713e6fd08"> 84</a></span><span class="preprocessor">#define wxABF_AUTOHIDE (1 &lt;&lt; 7) </span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gadd878bfddfe707961941a0fa09f1adcd"> 85</a></span><span class="preprocessor">#define wxABF_AUTOHIDETASKBAR (1 &lt;&lt; 8) </span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga374a172ec398df3a3b59514ae9c17fec"> 87</a></span><span class="preprocessor">#define wxABF_ALLOWSIZING (1 &lt;&lt; 9) </span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga3c3596fce55a2bb3472332e51eb88c77"> 89</a></span><span class="preprocessor">#define wxABF_HIDETASKBARTABWHENFLOATING (1 &lt;&lt; 10) </span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga9d340d497cefc10a3ad2a8885f716c16"> 90</a></span><span class="preprocessor">#define wxABF_HIDETASKBARTABWHENDOCKED (1 &lt;&lt; 11) </span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gaacfb0b1281cdcfe1628f36c125e4ad44"> 91</a></span><span class="preprocessor">#define wxABF_ALWAYSHIDETASKBARTAB (wxABF_HIDETASKBARTABWHENFLOATING | wxABF_HIDETASKBARTABWHENDOCKED) </span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">// Internal flags</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga09dfc3ab0c3551061d85c9ce98815b56"> 94</a></span><span class="preprocessor">#define wxABF_FULLSCREENAPPOPEN (1 &lt;&lt; 12) </span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga974924b2902609bab0aff74975488100"> 95</a></span><span class="preprocessor">#define wxABF_AUTOHIDDEN (1 &lt;&lt; 13) </span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="classwx_app_bar.html"> 102</a></span><span class="keyword">class </span><a class="code hl_class" href="classwx_app_bar.html">wxAppBar</a> : <span class="keyword">public</span> W</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span>{</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a679ca2856889f23ea3373bfa6e41e831"> 108</a></span> <a class="code hl_function" href="classwx_app_bar.html#a679ca2856889f23ea3373bfa6e41e831">wxAppBar</a>();</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a521931479c266038782c368daca9acc9"> 113</a></span> <span class="keyword">virtual</span> <a class="code hl_function" href="classwx_app_bar.html#a521931479c266038782c368daca9acc9">~wxAppBar</a>();</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">void</span> PreCreate(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a>&amp; state, <span class="keywordtype">int</span>&amp; flags, <span class="keyword">const</span> wxSize&amp; size, <span class="keywordtype">long</span>&amp; style);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a40b3039c0f7a672d16c1187c8878ded6"> 127</a></span> <span class="keyword">inline</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> <a class="code hl_function" href="classwx_app_bar.html#a40b3039c0f7a672d16c1187c8878ded6">GetState</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a154d1f7a4e04ab2f61adcf205abd4961"> 136</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#a154d1f7a4e04ab2f61adcf205abd4961">IsAlwaysOnTop</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ae80d0867b83e54c429771e403cd9519a"> 143</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#ae80d0867b83e54c429771e403cd9519a">SetAlwaysOnTop</a>(<span class="keywordtype">bool</span> alwaysOnTop = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a10e2e6f46f8c90dcd76f27b02dd4fe45"> 152</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#a10e2e6f46f8c90dcd76f27b02dd4fe45">IsAutoHide</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#abdbcdafcaf2331734313b2276c6bc640"> 159</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#abdbcdafcaf2331734313b2276c6bc640">SetAutoHide</a>(<span class="keywordtype">bool</span> autoHide = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a8b7f72142e0240b4b33bebdc6d19b361"> 168</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#a8b7f72142e0240b4b33bebdc6d19b361">GetAllowSizing</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ac75f7994f00fc8e4938f2b0faf3dd6d6"> 175</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#ac75f7994f00fc8e4938f2b0faf3dd6d6">SetAllowSizing</a>(<span class="keywordtype">bool</span> allow = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#aebe0b7c841cf979c9612f528be878b95"> 183</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#aebe0b7c841cf979c9612f528be878b95">GetAutoHidden</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="comment">//bool GetAppBarPlacement(LPAPPBARPLACEMENT lpPlacement) const;</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="comment">//bool SetAppBarPlacement(LPCAPPBARPLACEMENT lpPlacement);</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a808e8d6fed0fda0f17f423fdce48fa91"> 194</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a808e8d6fed0fda0f17f423fdce48fa91">MinimiseToEdge</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> edge, wxWindow* wnd = NULL);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a7f86c392151d776d5cf6a3dfffcc233c"> 201</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a7f86c392151d776d5cf6a3dfffcc233c">MaximiseFromEdge</a>(_In_opt_ <span class="keyword">const</span> RECT* rect = NULL);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a4e7b1019bff7b513fef79d3b1328e377"> 208</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a4e7b1019bff7b513fef79d3b1328e377">MaximiseFromEdge</a>(_In_ wxWindow *wnd);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#afcff0806eb953c6693e570b3f1eeafae"> 215</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#afcff0806eb953c6693e570b3f1eeafae">ShowAutoHideAppBar</a>(<span class="keywordtype">bool</span> show = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a8e7a125895744ca83db85cebf2c18775"> 220</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a8e7a125895744ca83db85cebf2c18775">HideAutoHideAppBar</a>() { <a class="code hl_function" href="classwx_app_bar.html#afcff0806eb953c6693e570b3f1eeafae">ShowAutoHideAppBar</a>(<span class="keyword">false</span>); }</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> </div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ad5ffb287a3823720f271607f4d6aa07d"> 235</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#ad5ffb287a3823720f271607f4d6aa07d">OnChangeState</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> stateNew);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ae5a7f89951072e7f5611d3fc1e264ade"> 244</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#ae5a7f89951072e7f5611d3fc1e264ade">OnChangeTaskBarState</a>(UINT_PTR state);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a63dab2382ef1642156e633fd56172de0"> 253</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a63dab2382ef1642156e633fd56172de0">OnWindowsArrange</a>(<span class="keywordtype">bool</span> beginning);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ac1a5b59877322c86a33b2ea12a126d6f"> 260</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#ac1a5b59877322c86a33b2ea12a126d6f">OnAutoHideDenied</a>();</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keyword">virtual</span> WXLRESULT MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam);</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keyword">inline</span> _Success_(<span class="keywordflow">return</span> != 0) bool DockAppBar(_In_ <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> inline _Success_(return != 0) <span class="keywordtype">bool</span> UndockAppBar();</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> inline _Success_(return != 0) <span class="keywordtype">bool</span> RegisterAutoHide(_In_ <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state);</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> inline _Success_(return != 0) <span class="keywordtype">bool</span> UnregisterAutoHide(_In_ <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state);</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> inline _Success_(return != 0) <span class="keywordtype">bool</span> GetDockedRect(_In_ <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state, _Out_ LPRECT rect) const;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> inline _Success_(return != 0) <span class="keywordtype">bool</span> GetAutoHideRect(_In_ <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state, _In_ <span class="keywordtype">bool</span> bAutoHidden, _Out_ LPRECT rect) const;</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span>protected:</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a96a0e58d3c64712e0a93dcd80414d3fa"> 280</a></span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> <a class="code hl_variable" href="classwx_app_bar.html#a96a0e58d3c64712e0a93dcd80414d3fa">m_state</a>; </div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ac6e7cac049c1394f9dcedfd3d554c078"> 281</a></span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> <a class="code hl_variable" href="classwx_app_bar.html#ac6e7cac049c1394f9dcedfd3d554c078">m_stateDesired</a>; </div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a7de8d3fef326880f83aa63ca07c3a7f3"> 282</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classwx_app_bar.html#a7de8d3fef326880f83aa63ca07c3a7f3">m_flags</a>; </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a6c5fba27197133ba1247816a7b8abac9"> 284</a></span> SIZE <a class="code hl_variable" href="classwx_app_bar.html#a6c5fba27197133ba1247816a7b8abac9">m_sizeFloat</a>; </div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#aca33c43e6370549d922000ead6814955"> 285</a></span> SIZE <a class="code hl_variable" href="classwx_app_bar.html#aca33c43e6370549d922000ead6814955">m_sizeDocked</a>; </div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ac59056e7fd5f0dd50082f87b19f987f6"> 286</a></span> SIZE <a class="code hl_variable" href="classwx_app_bar.html#ac59056e7fd5f0dd50082f87b19f987f6">m_sizeMin</a>; </div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a50f6ac6aebf9e462145c0af70d3cbcef"> 288</a></span> UINT_PTR <a class="code hl_variable" href="classwx_app_bar.html#a50f6ac6aebf9e462145c0af70d3cbcef">m_stateTaskBar</a>; </div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a0283c72da37448e33bb1aa83598da38b"> 289</a></span> UINT_PTR <a class="code hl_variable" href="classwx_app_bar.html#a0283c72da37448e33bb1aa83598da38b">m_timerID</a>; </div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> </div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a455ccfb06e546f341dc320c19828896e"> 291</a></span> ITaskbarList *<a class="code hl_variable" href="classwx_app_bar.html#a455ccfb06e546f341dc320c19828896e">m_taskbarList</a>; </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span>};</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> </div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="preprocessor">#ifdef __VISUALC__</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="comment">// non dll-interface class &#39;xxx&#39; used as base for dll-interface class &#39;yyy&#39;</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="preprocessor">#pragma warning (push)</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="preprocessor">#pragma warning (disable:4275)</span></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="classwx_app_bar_frame.html"> 304</a></span><span class="keyword">class </span><a class="code hl_define" href="group__wx_extend.html#ga624ae3515d39396935a077c6cc0a4d64">WXEXTEND_API</a> <a class="code hl_class" href="classwx_app_bar_frame.html">wxAppBarFrame</a> : <span class="keyword">public</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar</a>&lt;wxFrame&gt;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span>{</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <a class="code hl_class" href="classwx_app_bar_frame.html">wxAppBarFrame</a>();</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <a class="code hl_class" href="classwx_app_bar_frame.html">wxAppBarFrame</a>(wxWindow *parent,</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> wxWindowID <span class="keywordtype">id</span>,</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keyword">const</span> wxString&amp; title,</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>,</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">int</span> flags = <a class="code hl_define" href="group__wx_extend.html#gaeea26e3d219f41ba21f5ac0328887b42">wxABF_ALLOWANY</a>,</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="keyword">const</span> wxPoint&amp; pos = wxDefaultPosition,</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">const</span> wxSize&amp; size = wxDefaultSize,</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordtype">long</span> style = wxDEFAULT_FRAME_STYLE,</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="keyword">const</span> wxString&amp; name = wxFrameNameStr);</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">bool</span> Create(wxWindow *parent,</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> wxWindowID <span class="keywordtype">id</span>,</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keyword">const</span> wxString&amp; title,</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>,</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">int</span> flags = <a class="code hl_define" href="group__wx_extend.html#gaeea26e3d219f41ba21f5ac0328887b42">wxABF_ALLOWANY</a>,</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keyword">const</span> wxPoint&amp; pos = wxDefaultPosition,</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="keyword">const</span> wxSize&amp; size = wxDefaultSize,</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">long</span> style = wxDEFAULT_FRAME_STYLE,</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keyword">const</span> wxString&amp; name = wxFrameNameStr);</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span>};</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="classwx_app_bar_dialog.html"> 343</a></span><span class="keyword">class </span><a class="code hl_define" href="group__wx_extend.html#ga624ae3515d39396935a077c6cc0a4d64">WXEXTEND_API</a> <a class="code hl_class" href="classwx_app_bar_dialog.html">wxAppBarDialog</a> : <span class="keyword">public</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar</a>&lt;wxDialog&gt;</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span>{</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <a class="code hl_class" href="classwx_app_bar_dialog.html">wxAppBarDialog</a>();</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <a class="code hl_class" href="classwx_app_bar_dialog.html">wxAppBarDialog</a>(wxWindow *parent,</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> wxWindowID <span class="keywordtype">id</span>,</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <span class="keyword">const</span> wxString&amp; title,</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>,</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="keywordtype">int</span> flags = <a class="code hl_define" href="group__wx_extend.html#gaeea26e3d219f41ba21f5ac0328887b42">wxABF_ALLOWANY</a>,</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">const</span> wxPoint&amp; pos = wxDefaultPosition,</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">const</span> wxSize&amp; size = wxDefaultSize,</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keywordtype">long</span> style = wxDEFAULT_DIALOG_STYLE,</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">const</span> wxString&amp; name = wxDialogNameStr);</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> </div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">bool</span> Create(wxWindow *parent,</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> wxWindowID <span class="keywordtype">id</span>,</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">const</span> wxString&amp; title,</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>,</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <span class="keywordtype">int</span> flags = <a class="code hl_define" href="group__wx_extend.html#gaeea26e3d219f41ba21f5ac0328887b42">wxABF_ALLOWANY</a>,</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <span class="keyword">const</span> wxPoint&amp; pos = wxDefaultPosition,</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keyword">const</span> wxSize&amp; size = wxDefaultSize,</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">long</span> style = wxDEFAULT_DIALOG_STYLE,</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <span class="keyword">const</span> wxString&amp; name = wxDialogNameStr);</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span>};</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> </div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span><span class="preprocessor">#ifdef __VISUALC__</span></div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span><span class="preprocessor">#pragma warning(pop)</span></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> </div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> </div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01"> 392</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state)</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span>{</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">wxAppBarState::LEFT</a> &lt;= state &amp;&amp; state &lt;= <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">wxAppBarState::BOTTOM</a>;</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span>}</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> </div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="group__wx_extend.html#gacf6e1af88190be67e1535fe939df194d"> 407</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__wx_extend.html#gacf6e1af88190be67e1535fe939df194d">wxAppBarIsDockedVert</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state)</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span>{</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">return</span> state == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">wxAppBarState::LEFT</a> || state == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403">wxAppBarState::RIGHT</a>;</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span>}</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> </div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> </div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga786c97a26fa8d963b0d5d90f6bce2a4a"> 422</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__wx_extend.html#ga786c97a26fa8d963b0d5d90f6bce2a4a">wxAppBarIsDockedHoriz</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state)</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span>{</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">return</span> state == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63">wxAppBarState::TOP</a> || state == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">wxAppBarState::BOTTOM</a>;</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span>}</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> </div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> </div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd"> 437</a></span><span class="keyword">inline</span> WXHWND <a class="code hl_function" href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd">wxAppBarGetZWnd</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state, <span class="keywordtype">int</span> flags)</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span>{</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">if</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga09dfc3ab0c3551061d85c9ce98815b56">wxABF_FULLSCREENAPPOPEN</a>) {</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="comment">// If full screen app is open, clear the always-on-top flag.</span></div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">return</span> HWND_NOTOPMOST;</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> }</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> </div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <span class="comment">//_AFX_THREAD_STATE* pThreadState = AfxGetThreadState();</span></div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="comment">//if (::IsWindow(pThreadState-&gt;m_hTrackingWindow)) {</span></div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> <span class="comment">// // We&#39;re tracking another window/menu, position behind it.</span></div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <span class="comment">// return pThreadState-&gt;m_hTrackingWindow;</span></div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> <span class="comment">// }</span></div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> </div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">if</span> (state == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>) {</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="comment">// When floating, decide according to the flags.</span></div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">return</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#gac61c13faaa3315da305dff70922f718f">wxABF_ALWAYSONTOP</a>) ? HWND_TOPMOST : HWND_NOTOPMOST;</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(state)) {</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">if</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga73648c67f839edae65a374b713e6fd08">wxABF_AUTOHIDE</a>) {</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> <span class="comment">// Auto-hidden docked application bar is always on top.</span></div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">return</span> HWND_TOPMOST;</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> }</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> </div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">if</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#gac61c13faaa3315da305dff70922f718f">wxABF_ALWAYSONTOP</a>) {</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="comment">// Regular docked always-on-top application bar.</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> WXHWND hWndTaskbar = ::FindWindow(_T(<span class="stringliteral">&quot;Shell_TrayWnd&quot;</span>), _T(<span class="stringliteral">&quot;&quot;</span>));</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">if</span> (hWndTaskbar) {</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <span class="comment">// We found the taskbar window. Position directly after it. Otherwise our window overlaps Vista&#39;s Start button orb.</span></div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">return</span> hWndTaskbar;</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="comment">// Only always-on-top windows are allowed to resize properly outside the desktop rect.</span></div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <span class="comment">// If window is docked and not always on top, resizing a window to smaller size is obstructed by desktop rect limit.</span></div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">return</span> HWND_TOPMOST;</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> }</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> }</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> </div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> </div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <span class="comment">// Regular docked non-always-on-top application bar.</span></div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">return</span> HWND_NOTOPMOST;</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <span class="comment">// Unknown state. Do nothing.</span></div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> wxFAIL_MSG(wxT(<span class="stringliteral">&quot;unknown application bar state&quot;</span>));</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">return</span> HWND_TOP;</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> }</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span>}</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> </div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> </div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga24d7244fd3b59ee6c2bf84ec4b5a443e"> 491</a></span><span class="keyword">inline</span> UINT_PTR <a class="code hl_function" href="group__wx_extend.html#ga24d7244fd3b59ee6c2bf84ec4b5a443e">wxAppBarGetTaskBarState</a>()</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span>{</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd) };</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> return ::SHAppBarMessage(ABM_GETSTATE, &amp;abd);</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span>}</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> </div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> </div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span><span class="comment">// wxAppBar</span></div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span><span class="comment"></span> </div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a679ca2856889f23ea3373bfa6e41e831"> 505</a></span><a class="code hl_function" href="classwx_app_bar.html#a679ca2856889f23ea3373bfa6e41e831">wxAppBar&lt;W&gt;::wxAppBar</a>() :</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <a class="code hl_variable" href="classwx_app_bar.html#a96a0e58d3c64712e0a93dcd80414d3fa">m_state</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a>::UNKNOWN),</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <a class="code hl_variable" href="classwx_app_bar.html#ac6e7cac049c1394f9dcedfd3d554c078">m_stateDesired</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a>::UNKNOWN),</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> <a class="code hl_variable" href="classwx_app_bar.html#a7de8d3fef326880f83aa63ca07c3a7f3">m_flags</a>(0),</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <a class="code hl_variable" href="classwx_app_bar.html#a50f6ac6aebf9e462145c0af70d3cbcef">m_stateTaskBar</a>(0),</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> <a class="code hl_variable" href="classwx_app_bar.html#a0283c72da37448e33bb1aa83598da38b">m_timerID</a>(0),</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> <a class="code hl_variable" href="classwx_app_bar.html#a455ccfb06e546f341dc320c19828896e">m_taskbarList</a>(NULL)</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span>{</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <a class="code hl_variable" href="classwx_app_bar.html#a6c5fba27197133ba1247816a7b8abac9">m_sizeFloat</a> .cx = -1;</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <a class="code hl_variable" href="classwx_app_bar.html#a6c5fba27197133ba1247816a7b8abac9">m_sizeFloat</a> .cy = -1;</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <a class="code hl_variable" href="classwx_app_bar.html#aca33c43e6370549d922000ead6814955">m_sizeDocked</a>.cx = -1;</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> <a class="code hl_variable" href="classwx_app_bar.html#aca33c43e6370549d922000ead6814955">m_sizeDocked</a>.cy = -1;</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <a class="code hl_variable" href="classwx_app_bar.html#ac59056e7fd5f0dd50082f87b19f987f6">m_sizeMin</a> .cx = -1;</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> <a class="code hl_variable" href="classwx_app_bar.html#ac59056e7fd5f0dd50082f87b19f987f6">m_sizeMin</a> .cy = -1;</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span>}</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> </div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> </div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a521931479c266038782c368daca9acc9"> 523</a></span><a class="code hl_function" href="classwx_app_bar.html#a521931479c266038782c368daca9acc9">wxAppBar&lt;W&gt;::~wxAppBar</a>()</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span>{</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> <span class="keywordflow">if</span> (m_taskbarList)</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> m_taskbarList-&gt;Release();</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span>}</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> </div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> </div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span><span class="keywordtype">void</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::PreCreate</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a>&amp; state, <span class="keywordtype">int</span>&amp; flags, <span class="keyword">const</span> wxSize&amp; size, <span class="keywordtype">long</span>&amp; style)</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span>{</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> wxASSERT_MSG(!m_taskbarList || !m_timerID, wxT(<span class="stringliteral">&quot;application bar is already initialized&quot;</span>));</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> </div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> <span class="comment">// Save initial floating window size.</span></div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> m_sizeFloat.cx = size.x;</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> m_sizeFloat.cy = size.y;</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> </div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> <span class="comment">// Save initial docked window width/height.</span></div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> m_sizeDocked.cx = size.x;</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> m_sizeDocked.cy = size.y;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> </div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> <span class="comment">// Save initial state and flags.</span></div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> m_state = state;</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> m_stateDesired = wxAppBarState::UNKNOWN;</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> m_flags = flags;</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> </div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="comment">// If any taskbar list tab&#39;s hiding is in affect, set application bar&#39;s style as tool window to avoid being displayed on the taskbar initially.</span></div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> <span class="keywordflow">if</span> (state == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>) {</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">if</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga3c3596fce55a2bb3472332e51eb88c77">wxABF_HIDETASKBARTABWHENFLOATING</a>) {</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> <span class="comment">// Hide our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> style |= wxFRAME_TOOL_WINDOW;</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga9d340d497cefc10a3ad2a8885f716c16">wxABF_HIDETASKBARTABWHENDOCKED</a>) {</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> <span class="comment">// Show our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> style &amp;= ~wxFRAME_TOOL_WINDOW;</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> }</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(state)) {</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">if</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga9d340d497cefc10a3ad2a8885f716c16">wxABF_HIDETASKBARTABWHENDOCKED</a>) {</div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> <span class="comment">// Hide our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> style |= wxFRAME_TOOL_WINDOW;</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga3c3596fce55a2bb3472332e51eb88c77">wxABF_HIDETASKBARTABWHENFLOATING</a>) {</div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> <span class="comment">// Show our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> style &amp;= ~wxFRAME_TOOL_WINDOW;</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> }</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> <span class="comment">// Unknown state.</span></div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> wxFAIL_MSG(wxT(<span class="stringliteral">&quot;unknown application bar state&quot;</span>));</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> }</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> </div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> <span class="comment">// Find the taskbar list&#39;s interface.</span></div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> HRESULT hr = ::CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList, (LPVOID*)&amp;m_taskbarList);</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">if</span> (SUCCEEDED(hr)) {</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> hr = m_taskbarList-&gt;HrInit();</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> <span class="keywordflow">if</span> (FAILED(hr)) {</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> wxFAIL_MSG(wxString::Format(wxT(<span class="stringliteral">&quot;ITaskbarList::HrInit() failed 0x%x&quot;</span>), hr));</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> m_taskbarList-&gt;Release();</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> m_taskbarList = NULL;</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> }</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> wxFAIL_MSG(wxString::Format(wxT(<span class="stringliteral">&quot;TaskbarList creation failed 0x%x&quot;</span>), hr));</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span>}</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> </div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a40b3039c0f7a672d16c1187c8878ded6"> 587</a></span><span class="keyword">inline</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> <a class="code hl_function" href="classwx_app_bar.html#a40b3039c0f7a672d16c1187c8878ded6">wxAppBar&lt;W&gt;::GetState</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">return</span> m_stateDesired != wxAppBarState::UNKNOWN ? m_stateDesired : m_state;</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span>}</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> </div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> </div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a154d1f7a4e04ab2f61adcf205abd4961"> 594</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#a154d1f7a4e04ab2f61adcf205abd4961">wxAppBar&lt;W&gt;::IsAlwaysOnTop</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> <span class="keywordflow">return</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gac61c13faaa3315da305dff70922f718f">wxABF_ALWAYSONTOP</a>) ? true : <span class="keyword">false</span>;</div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span>}</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> </div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span> </div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ae80d0867b83e54c429771e403cd9519a"> 601</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#ae80d0867b83e54c429771e403cd9519a">wxAppBar&lt;W&gt;::SetAlwaysOnTop</a>(<span class="keywordtype">bool</span> alwaysOnTop)</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span>{</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">if</span> (alwaysOnTop)</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> m_flags |= <a class="code hl_define" href="group__wx_extend.html#gac61c13faaa3315da305dff70922f718f">wxABF_ALWAYSONTOP</a>;</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> m_flags &amp;= ~wxABF_ALWAYSONTOP;</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> </div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> <span class="keywordflow">if</span> (::IsWindowVisible(m_hWnd)) {</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> <span class="comment">// Set the Z-order.</span></div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> wxCHECK(::SetWindowPos(m_hWnd, <a class="code hl_function" href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd">wxAppBarGetZWnd</a>(m_state, m_flags), 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOSENDCHANGING), <span class="keyword">false</span>);</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span> }</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> </div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span>}</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> </div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> </div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a10e2e6f46f8c90dcd76f27b02dd4fe45"> 618</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#a10e2e6f46f8c90dcd76f27b02dd4fe45">wxAppBar&lt;W&gt;::IsAutoHide</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> <span class="keywordflow">return</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga73648c67f839edae65a374b713e6fd08">wxABF_AUTOHIDE</a>) ? true : <span class="keyword">false</span>;</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span>}</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> </div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#abdbcdafcaf2331734313b2276c6bc640"> 625</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#abdbcdafcaf2331734313b2276c6bc640">wxAppBar&lt;W&gt;::SetAutoHide</a>(<span class="keywordtype">bool</span> autoHide)</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span>{</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> <span class="keywordtype">bool</span> autoHidePrev = IsAutoHide();</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> </div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> <span class="keywordflow">if</span> (autoHide)</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> m_flags |= <a class="code hl_define" href="group__wx_extend.html#ga73648c67f839edae65a374b713e6fd08">wxABF_AUTOHIDE</a>;</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span> m_flags &amp;= ~wxABF_AUTOHIDE;</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> </div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> <span class="keywordflow">if</span> (autoHidePrev != autoHide &amp;&amp; <a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state) &amp;&amp; ::IsWindowVisible(m_hWnd)) {</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span> <span class="keywordflow">if</span> (autoHide) {</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span> <span class="comment">// Application bar should be auto-hidden. Try to setup it so.</span></div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span> </div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span> <span class="comment">// We undock to free the space before registering auto-hide, otherwise system will leave application bar&#39;s space reserved.</span></div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span> UndockAppBar();</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span> </div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> <span class="comment">// Register auto-hide application bar.</span></div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">if</span> (!RegisterAutoHide(m_state)) {</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> <span class="comment">// Auto-hide failed; some other application bar must be hidden on this edge already. Dock back instead.</span></div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> DockAppBar(m_state);</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> }</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> <span class="comment">// Unregister the auto-hidden application bar and dock.</span></div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> UnregisterAutoHide(m_state);</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> DockAppBar(m_state);</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> }</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> }</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> </div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span>}</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> </div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> </div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a8b7f72142e0240b4b33bebdc6d19b361"> 659</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#a8b7f72142e0240b4b33bebdc6d19b361">wxAppBar&lt;W&gt;::GetAllowSizing</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> <span class="keywordflow">return</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga374a172ec398df3a3b59514ae9c17fec">wxABF_ALLOWSIZING</a>) ? true : <span class="keyword">false</span>;</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span>}</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span> </div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> </div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ac75f7994f00fc8e4938f2b0faf3dd6d6"> 666</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#ac75f7994f00fc8e4938f2b0faf3dd6d6">wxAppBar&lt;W&gt;::SetAllowSizing</a>(<span class="keywordtype">bool</span> allow)</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span>{</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> <span class="keywordflow">if</span> (allow)</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> m_flags |= <a class="code hl_define" href="group__wx_extend.html#ga374a172ec398df3a3b59514ae9c17fec">wxABF_ALLOWSIZING</a>;</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> m_flags &amp;= ~wxABF_ALLOWSIZING;</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span> </div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"> 674</span>}</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span> </div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"> 676</span> </div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#aebe0b7c841cf979c9612f528be878b95"> 678</a></span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classwx_app_bar.html#aebe0b7c841cf979c9612f528be878b95">wxAppBar&lt;W&gt;::GetAutoHidden</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">return</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga974924b2902609bab0aff74975488100">wxABF_AUTOHIDDEN</a>) ? true : <span class="keyword">false</span>;</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span>}</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> </div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> </div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span><span class="comment">//template &lt;class W&gt;</span></div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span><span class="comment">//bool wxAppBar&lt;W&gt;::GetAppBarPlacement(LPAPPBARPLACEMENT lpPlacement) const</span></div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span><span class="comment">//{</span></div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span><span class="comment">// wxASSERT(lpPlacement);</span></div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span><span class="comment">//</span></div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span><span class="comment">// if (lpPlacement-&gt;dwSize &gt;= sizeof(APPBARPLACEMENT1)) {</span></div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"> 690</span><span class="comment">// lpPlacement-&gt;dwState = (DWORD)m_state;</span></div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span><span class="comment">// lpPlacement-&gt;dwFlags = m_flags;</span></div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span><span class="comment">// if (m_state == wxAppBarState::FLOAT) {</span></div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span><span class="comment">// // Current application bar&#39;s rect is floating rect.</span></div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"> 694</span><span class="comment">// lpPlacement-&gt;rcFloat = m_rect;</span></div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span><span class="comment">// } else if (wxAppBarIsDocked(m_state)) {</span></div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"> 696</span><span class="comment">// // Application bar is docked. Calc floating rect from m_sizeFloat.</span></div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span><span class="comment">// lpPlacement-&gt;rcFloat.left = 0;</span></div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span><span class="comment">// lpPlacement-&gt;rcFloat.top = 0;</span></div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span><span class="comment">// lpPlacement-&gt;rcFloat.right = m_sizeFloat.cx;</span></div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span><span class="comment">// lpPlacement-&gt;rcFloat.bottom = m_sizeFloat.cy;</span></div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"> 701</span><span class="comment">// } else {</span></div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"> 702</span><span class="comment">// // Application bar&#39;s state is unknown.</span></div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"> 703</span><span class="comment">// return false;</span></div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"> 704</span><span class="comment">// }</span></div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span><span class="comment">// lpPlacement-&gt;szDocked = m_sizeDocked;</span></div>
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"> 706</span><span class="comment">// }</span></div>
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span><span class="comment">//</span></div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span><span class="comment">// lpPlacement-&gt;dwSize = sizeof(*lpPlacement);</span></div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span><span class="comment">//</span></div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span><span class="comment">// return true;</span></div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span><span class="comment">//}</span></div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span><span class="comment">//</span></div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span><span class="comment">//</span></div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span><span class="comment">//template &lt;class W&gt;</span></div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span><span class="comment">//bool wxAppBar&lt;W&gt;::SetAppBarPlacement(LPCAPPBARPLACEMENT lpPlacement)</span></div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span><span class="comment">//{</span></div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span><span class="comment">// wxASSERT(lpPlacement);</span></div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span><span class="comment">//</span></div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</span><span class="comment">// if (lpPlacement-&gt;dwSize &gt;= sizeof(APPBARPLACEMENT1)) {</span></div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span><span class="comment">// if (lpPlacement-&gt;dwState != wxAppBarState::FLOAT &amp;&amp; !wxAppBarIsDocked(lpPlacement-&gt;dwState)) {</span></div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span><span class="comment">// // The state is unknown. Abort, before we mix up internal state.</span></div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</span><span class="comment">// return false;</span></div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span><span class="comment">// }</span></div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span><span class="comment">//</span></div>
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"> 725</span><span class="comment">// // Clean previous docking/auto-hide settings if required.</span></div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"> 726</span><span class="comment">// if (wxAppBarIsDocked(m_state) &amp;&amp;</span></div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</span><span class="comment">// (lpPlacement-&gt;dwState == wxAppBarState::FLOAT || lpPlacement-&gt;dwState != m_state &amp;&amp; wxAppBarIsDocked(lpPlacement-&gt;dwState)))</span></div>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span><span class="comment">// {</span></div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"> 729</span><span class="comment">// if (IsAutoHide())</span></div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span><span class="comment">// UnregisterAutoHide(m_state);</span></div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span><span class="comment">// else if (lpPlacement-&gt;dwState == wxAppBarState::FLOAT)</span></div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span><span class="comment">// UndockAppBar();</span></div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span><span class="comment">// }</span></div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span><span class="comment">//</span></div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span><span class="comment">// // Update application bar&#39;s flags, size and position.</span></div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span><span class="comment">// m_flags |= wxABF_POSITIONSET;</span></div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span><span class="comment">// m_sizeDocked = lpPlacement-&gt;szDocked;</span></div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span><span class="comment">// if (lpPlacement-&gt;dwState == wxAppBarState::FLOAT) {</span></div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span><span class="comment">// m_rect = lpPlacement-&gt;rcFloat;</span></div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span><span class="comment">// } else if (wxAppBarIsDocked(lpPlacement-&gt;dwState)) {</span></div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"> 741</span><span class="comment">// m_sizeFloat.cx = lpPlacement-&gt;rcFloat.right - lpPlacement-&gt;rcFloat.left;</span></div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span><span class="comment">// m_sizeFloat.cy = lpPlacement-&gt;rcFloat.bottom - lpPlacement-&gt;rcFloat.top;</span></div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span><span class="comment">// GetDockedRect(lpPlacement-&gt;dwState, &amp;m_rect);</span></div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span><span class="comment">// } else {</span></div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span><span class="comment">// // Application bar&#39;s state is unknown.</span></div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span><span class="comment">// wxFAIL;</span></div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span><span class="comment">// return false;</span></div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span><span class="comment">// }</span></div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span><span class="comment">//</span></div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span><span class="comment">// // Notify about the change of state.</span></div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"> 751</span><span class="comment">// OnChangeState(lpPlacement-&gt;dwState);</span></div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span><span class="comment">// m_state = lpPlacement-&gt;dwState;</span></div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span><span class="comment">//</span></div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span><span class="comment">// SetAutoHide(lpPlacement-&gt;dwFlags &amp; wxABF_AUTOHIDE);</span></div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"> 755</span><span class="comment">// SetAlwaysOnTop(lpPlacement-&gt;dwFlags &amp; wxABF_ALWAYSONTOP);</span></div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"> 756</span><span class="comment">// }</span></div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"> 757</span><span class="comment">//</span></div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span><span class="comment">// return true;</span></div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span><span class="comment">//}</span></div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span> </div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span> </div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a808e8d6fed0fda0f17f423fdce48fa91"> 763</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a808e8d6fed0fda0f17f423fdce48fa91">wxAppBar&lt;W&gt;::MinimiseToEdge</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> edge, wxWindow *wnd)</div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"> 764</span>{</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"> 765</span> wxASSERT(<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(edge));</div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"> 766</span> </div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span> WXHWND hWnd;</div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span> <span class="keywordflow">if</span> (!wnd) {</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> <span class="comment">// No other window was specified. Minimize ourself.</span></div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> wnd = <span class="keyword">this</span>;</div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span> hWnd = m_hWnd;</div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"> 772</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> hWnd = wnd-&gt;GetHWND();</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span> </div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"> 775</span> <span class="comment">// If our window is hidden, there&#39;s nothing we can do.</span></div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"> 776</span> <span class="keywordflow">if</span> (hWnd == m_hWnd &amp;&amp; !::IsWindowVisible(m_hWnd))</div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"> 777</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> </div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> (m_state == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>) {</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span> <span class="comment">// Remember the last floating size.</span></div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span> RECT rect = {};</div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetWindowRect(hWnd, &amp;rect));</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"> 783</span> m_sizeFloat.cx = rect.right - rect.left;</div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"> 784</span> m_sizeFloat.cy = rect.bottom - rect.top;</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"> 785</span> }</div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> </div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"> 787</span> RECT rectTo;</div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span> <span class="keywordflow">if</span> (IsAutoHide())</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> GetAutoHideRect(edge, <span class="keyword">false</span>, &amp;rectTo);</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> GetDockedRect(edge, &amp;rectTo);</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> </div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga33015805cefd09b3899d7b5667f6c0eb">::wxGetDoWndAnimation</a>()) {</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> <span class="comment">// Do the animation.</span></div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> RECT rectFrom;</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetWindowRect(hWnd, &amp;rectFrom));</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::DrawAnimatedRects(hWnd, IDANI_CAPTION, &amp;rectFrom, &amp;rectTo));</div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> }</div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> </div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> <span class="comment">// Notify about the change of state.</span></div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> OnChangeState(edge);</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> m_state = edge;</div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> </div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> <span class="keywordflow">if</span> (hWnd != m_hWnd) {</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> <span class="comment">// Hide the source window.</span></div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> wnd-&gt;Hide();</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span> <span class="comment">// ::SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) &amp;~ WS_VISIBLE);</span></div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span> </div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> <span class="comment">// Show the application bar.</span></div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> Show();</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> <span class="keywordflow">if</span> (IsAutoHide()) {</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> <span class="comment">// Register auto-hide application bar.</span></div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> RegisterAutoHide(edge);</div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> <span class="comment">// Auto-hide failed or wasn&#39;t desired at all.</span></div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> DockAppBar(edge);</div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> }</div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> }</div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> </div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> ::SetActiveWindow(m_hWnd);</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span>}</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> </div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> </div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a7f86c392151d776d5cf6a3dfffcc233c"> 826</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a7f86c392151d776d5cf6a3dfffcc233c">wxAppBar&lt;W&gt;::MaximiseFromEdge</a>(_In_opt_ <span class="keyword">const</span> RECT* rect)</div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span>{</div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> wxASSERT(::IsWindowVisible(m_hWnd));</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> </div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> RECT rectTo;</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> </div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">if</span> (!rect) {</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> <span class="comment">// Calculate the destination rect.</span></div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> rectTo.left = (::GetSystemMetrics(SM_CXSCREEN) - m_sizeFloat.cx) / 2;</div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> rectTo.top = (::GetSystemMetrics(SM_CYSCREEN) - m_sizeFloat.cy) / 2;</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> rectTo.right = rectTo.left + m_sizeFloat.cx;</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> rectTo.bottom = rectTo.top + m_sizeFloat.cy;</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> </div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> rect = &amp;rectTo;</div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> m_sizeFloat.cx = rect-&gt;right - rect-&gt;left;</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> m_sizeFloat.cy = rect-&gt;bottom - rect-&gt;top;</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> }</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> </div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga33015805cefd09b3899d7b5667f6c0eb">::wxGetDoWndAnimation</a>()) {</div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> <span class="comment">// Do the animation.</span></div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> RECT rectFrom;</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetWindowRect(m_hWnd, &amp;rectFrom));</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::DrawAnimatedRects(m_hWnd, IDANI_CAPTION, &amp;rectFrom, rect));</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> }</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> </div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="comment">// Clean previous docking/auto-hide settings if required.</span></div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state)) {</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <span class="keywordflow">if</span> (IsAutoHide())</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> UnregisterAutoHide(m_state);</div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> UndockAppBar();</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> }</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> </div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> <span class="comment">// Notify about the change of state.</span></div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> OnChangeState(<a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>);</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> m_state = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>;</div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> </div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SetWindowPos(m_hWnd, <a class="code hl_function" href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd">wxAppBarGetZWnd</a>(<a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>, m_flags), rect-&gt;left, rect-&gt;top, rect-&gt;right - rect-&gt;left, rect-&gt;bottom - rect-&gt;top, SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_FRAMECHANGED));</div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span>}</div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> </div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> </div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a4e7b1019bff7b513fef79d3b1328e377"> 869</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a7f86c392151d776d5cf6a3dfffcc233c">wxAppBar&lt;W&gt;::MaximiseFromEdge</a>(_In_ wxWindow *wnd)</div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span>{</div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> wxASSERT(wnd);</div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> wxASSERT(::IsWindowVisible(m_hWnd));</div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> </div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> WXHWND hWnd = wnd-&gt;GetHWND();</div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> </div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> RECT rectTo = {};</div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetWindowRect(hWnd, &amp;rectTo));</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> m_sizeFloat.cx = rectTo.right - rectTo.left;</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> m_sizeFloat.cy = rectTo.bottom - rectTo.top;</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> </div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga33015805cefd09b3899d7b5667f6c0eb">::wxGetDoWndAnimation</a>()) {</div>
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> <span class="comment">// Do the animation.</span></div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> RECT rectFrom;</div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetWindowRect(m_hWnd, &amp;rectFrom));</div>
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::DrawAnimatedRects(hWnd, IDANI_CAPTION, &amp;rectFrom, &amp;rectTo));</div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> }</div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> </div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> <span class="comment">// Hide our window and show the destination window.</span></div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> Hide();</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> wnd-&gt;Show();</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> <span class="comment">// ::SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) | WS_VISIBLE);</span></div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SetForegroundWindow(hWnd));</div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> ::SetActiveWindow(hWnd);</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> <span class="comment">// wxVERIFY(::RedrawWindow(hWnd, NULL, NULL, RDW_UPDATENOW | RDW_ALLCHILDREN | RDW_FRAME | RDW_INVALIDATE | RDW_ERASE));</span></div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span>}</div>
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> </div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> </div>
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#afcff0806eb953c6693e570b3f1eeafae"> 899</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#afcff0806eb953c6693e570b3f1eeafae">wxAppBar&lt;W&gt;::ShowAutoHideAppBar</a>(<span class="keywordtype">bool</span> show)</div>
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span>{</div>
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> RECT rcEnd;</div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> bFullDragOn,</div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> bHidden = GetAutoHidden(),</div>
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> bVisible = ::IsWindowVisible(m_hWnd) ? true : <span class="keyword">false</span>;</div>
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> </div>
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> <span class="keywordflow">if</span> (!IsAutoHide() || bHidden != show) {</div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> <span class="comment">// We&#39;re not setup for auto-hide or already in the desired state.</span></div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> }</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> </div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> <span class="comment">// Get our end window location.</span></div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> GetAutoHideRect(m_state, !bHidden, &amp;rcEnd);</div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> </div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">if</span> (bVisible) {</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> RECT rcStart;</div>
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> </div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <span class="comment">// Only slide the window if the user has FullDrag turned on.</span></div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <span class="keywordflow">if</span> (!::SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0, &amp;bFullDragOn, 0))</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> bFullDragOn = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> </div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <span class="comment">// Get our start window location.</span></div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> GetAutoHideRect(m_state, bHidden, &amp;rcStart);</div>
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> </div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> <span class="keywordflow">if</span> (bFullDragOn &amp;&amp; (rcStart.left != rcEnd.left || rcStart.top != rcEnd.top || rcStart.right != rcEnd.right || rcStart.bottom != rcEnd.bottom)) {</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span><span class="preprocessor"> #pragma warning(push)</span></div>
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span><span class="preprocessor"> #pragma warning(disable: 28159)</span></div>
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> </div>
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> <span class="comment">// Get our starting and ending time.</span></div>
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> DWORD dwTimeStart = ::GetTickCount();</div>
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> DWORD dwTimeElapsed;</div>
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> RECT rcDelta;</div>
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> </div>
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> <span class="comment">// Calculate difference between ending and starting rectangle.</span></div>
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> rcDelta.left = rcEnd.left - rcStart.left;</div>
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> rcDelta.top = rcEnd.top - rcStart.top;</div>
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> rcDelta.right = rcEnd.right - rcStart.right;</div>
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> rcDelta.bottom = rcEnd.bottom - rcStart.bottom;</div>
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> </div>
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> <span class="keywordflow">while</span> ((dwTimeElapsed = ::GetTickCount() - dwTimeStart) &lt; <a class="code hl_define" href="group__wx_extend.html#ga05a18a821590aaed11fe1e779b32b8f0">wxABT_AUTOHIDETIME</a>) {</div>
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span> <span class="comment">// Do the linear interpolation.</span></div>
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> RECT rect;</div>
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span> rect.left = rcStart.left + ::MulDiv(rcDelta.left, dwTimeElapsed, <a class="code hl_define" href="group__wx_extend.html#ga05a18a821590aaed11fe1e779b32b8f0">wxABT_AUTOHIDETIME</a>);</div>
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> rect.top = rcStart.top + ::MulDiv(rcDelta.top, dwTimeElapsed, <a class="code hl_define" href="group__wx_extend.html#ga05a18a821590aaed11fe1e779b32b8f0">wxABT_AUTOHIDETIME</a>);</div>
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> rect.right = rcStart.right + ::MulDiv(rcDelta.right, dwTimeElapsed, <a class="code hl_define" href="group__wx_extend.html#ga05a18a821590aaed11fe1e779b32b8f0">wxABT_AUTOHIDETIME</a>);</div>
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> rect.bottom = rcStart.bottom + ::MulDiv(rcDelta.bottom, dwTimeElapsed, <a class="code hl_define" href="group__wx_extend.html#ga05a18a821590aaed11fe1e779b32b8f0">wxABT_AUTOHIDETIME</a>);</div>
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> </div>
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> <span class="comment">// Show the window at its changed position</span></div>
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SetWindowPos(m_hWnd, NULL, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER | SWP_NOACTIVATE));</div>
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::UpdateWindow(m_hWnd));</div>
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> }</div>
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span> </div>
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span><span class="preprocessor"> #pragma warning(pop)</span></div>
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> }</div>
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span> }</div>
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> </div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span> <span class="keywordflow">if</span> (show)</div>
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> m_flags &amp;= ~wxABF_AUTOHIDDEN;</div>
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> m_flags |= <a class="code hl_define" href="group__wx_extend.html#ga974924b2902609bab0aff74975488100">wxABF_AUTOHIDDEN</a>;</div>
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span> </div>
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> <span class="keywordflow">if</span> (bVisible) {</div>
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SetWindowPos(m_hWnd, NULL, rcEnd.left, rcEnd.top, rcEnd.right - rcEnd.left, rcEnd.bottom - rcEnd.top, SWP_NOZORDER | SWP_NOACTIVATE));</div>
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::UpdateWindow(m_hWnd));</div>
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span> <span class="comment">// Reset auto-hide timer.</span></div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> m_timerID = ::SetTimer(m_hWnd, <a class="code hl_define" href="group__wx_extend.html#ga35adecc26a1a7e1a88f27bce2b220e3f">wxABT_AUTOHIDETIMERID</a>, <a class="code hl_define" href="group__wx_extend.html#ga734516e6fc45702ae4623703f7d32fb9">wxABT_AUTOHIDETIMERINTERVAL</a>, NULL);</div>
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> }</div>
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span>}</div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> </div>
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> </div>
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ad5ffb287a3823720f271607f4d6aa07d"> 972</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#ad5ffb287a3823720f271607f4d6aa07d">wxAppBar&lt;W&gt;::OnChangeState</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> stateNew)</div>
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span>{</div>
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span> <span class="keywordflow">if</span> (stateNew == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>) {</div>
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span> <span class="keywordflow">if</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga3c3596fce55a2bb3472332e51eb88c77">wxABF_HIDETASKBARTABWHENFLOATING</a>) {</div>
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> <span class="comment">// Hide our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span> <a class="code hl_function" href="group__wx_extend.html#ga58084b8e1a8e2e27bcf5e5df387f9601">wxModifyStyleEx</a>(m_hWnd, 0, WS_EX_TOOLWINDOW);</div>
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span> <span class="keywordflow">if</span> (m_taskbarList)</div>
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(SUCCEEDED(m_taskbarList-&gt;DeleteTab(m_hWnd)));</div>
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga9d340d497cefc10a3ad2a8885f716c16">wxABF_HIDETASKBARTABWHENDOCKED</a>) {</div>
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> <span class="comment">// Show our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> <a class="code hl_function" href="group__wx_extend.html#ga58084b8e1a8e2e27bcf5e5df387f9601">wxModifyStyleEx</a>(m_hWnd, WS_EX_TOOLWINDOW, 0);</div>
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> <span class="keywordflow">if</span> (m_taskbarList)</div>
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(SUCCEEDED(m_taskbarList-&gt;AddTab(m_hWnd)));</div>
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span> }</div>
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(stateNew)) {</div>
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> <span class="keywordflow">if</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga9d340d497cefc10a3ad2a8885f716c16">wxABF_HIDETASKBARTABWHENDOCKED</a>) {</div>
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> <span class="comment">// Hide our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> <a class="code hl_function" href="group__wx_extend.html#ga58084b8e1a8e2e27bcf5e5df387f9601">wxModifyStyleEx</a>(m_hWnd, 0, WS_EX_TOOLWINDOW);</div>
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">if</span> (m_taskbarList)</div>
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(SUCCEEDED(m_taskbarList-&gt;DeleteTab(m_hWnd)));</div>
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga3c3596fce55a2bb3472332e51eb88c77">wxABF_HIDETASKBARTABWHENFLOATING</a>) {</div>
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> <span class="comment">// Show our application bar&#39;s entry on the Windows&#39;s taskbar.</span></div>
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> <a class="code hl_function" href="group__wx_extend.html#ga58084b8e1a8e2e27bcf5e5df387f9601">wxModifyStyleEx</a>(m_hWnd, WS_EX_TOOLWINDOW, 0);</div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> <span class="keywordflow">if</span> (m_taskbarList)</div>
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(SUCCEEDED(m_taskbarList-&gt;AddTab(m_hWnd)));</div>
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> }</div>
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> <span class="comment">// Unknown state.</span></div>
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> wxFAIL_MSG(wxT(<span class="stringliteral">&quot;unknown application bar state&quot;</span>));</div>
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> }</div>
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span>}</div>
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> </div>
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> </div>
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ae5a7f89951072e7f5611d3fc1e264ade"> 1006</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#ae5a7f89951072e7f5611d3fc1e264ade">wxAppBar&lt;W&gt;::OnChangeTaskBarState</a>(UINT_PTR state)</div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span>{</div>
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> <span class="keywordflow">if</span> (state != m_stateTaskBar) {</div>
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> <span class="comment">// No change, no fun.</span></div>
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> }</div>
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> </div>
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gad1a25b75ef14d5ef36d4a21b4f7d2ba3">wxABF_ALWAYSONTOPTASKBAR</a>) &amp;&amp;</div>
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> (m_stateTaskBar &amp; ABS_ALWAYSONTOP) != (state &amp; ABS_ALWAYSONTOP)) {</div>
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> <span class="comment">// Always-on-top state of the taskbar changed and we&#39;re supposed to mimic it.</span></div>
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> SetAlwaysOnTop((state &amp; ABS_ALWAYSONTOP) ? <span class="keyword">true</span> : <span class="keyword">false</span>);</div>
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> }</div>
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> </div>
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gadd878bfddfe707961941a0fa09f1adcd">wxABF_AUTOHIDETASKBAR</a>) &amp;&amp;</div>
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> (m_stateTaskBar &amp; ABS_AUTOHIDE) != (state &amp; ABS_AUTOHIDE)) {</div>
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">// Auto-hide state of the taskbar changed and we&#39;re supposed to mimic it.</span></div>
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> SetAutoHide((state &amp; ABS_AUTOHIDE) ? <span class="keyword">true</span> : <span class="keyword">false</span>);</div>
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> }</div>
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> </div>
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> <span class="comment">// Remember the state.</span></div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> m_stateTaskBar = state;</div>
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span>}</div>
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> </div>
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> </div>
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#a63dab2382ef1642156e633fd56172de0"> 1031</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#a63dab2382ef1642156e633fd56172de0">wxAppBar&lt;W&gt;::OnWindowsArrange</a>(<span class="keywordtype">bool</span> WXUNUSED(beginning))</div>
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span>{</div>
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span>}</div>
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> </div>
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> </div>
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"><a class="line" href="classwx_app_bar.html#ac1a5b59877322c86a33b2ea12a126d6f"> 1037</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classwx_app_bar.html#ac1a5b59877322c86a33b2ea12a126d6f">wxAppBar&lt;W&gt;::OnAutoHideDenied</a>()</div>
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span>{</div>
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span> wxMessageBox(_(<span class="stringliteral">&quot;There is already an auto hidden bar on this edge.\nOnly one auto hidden bar is allowed on each edge.\nAuto-hide feature is now off.&quot;</span>), _(<span class="stringliteral">&quot;Warning&quot;</span>), wxOK | wxICON_WARNING, <span class="keyword">this</span>);</div>
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span>}</div>
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> </div>
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span> </div>
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span>WXLRESULT <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::MSWWindowProc</a>(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)</div>
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span>{</div>
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">switch</span> (message) {</div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">case</span> WM_CREATE: {</div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> </div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> <span class="comment">// Register our application bar.</span></div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd, <a class="code hl_define" href="group__wx_extend.html#ga28549a910dbd9c7222691b22f7aee628">WM_AB_NOTIFY</a>, <span class="keyword">static_cast&lt;</span>UINT<span class="keyword">&gt;</span>(m_state) };</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> wxCHECK(::SHAppBarMessage(ABM_NEW, &amp;abd), <span class="keyword">false</span>);</div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> </div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> <span class="comment">// Get the state of the Windows taskbar.</span></div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> m_stateTaskBar = <a class="code hl_function" href="group__wx_extend.html#ga24d7244fd3b59ee6c2bf84ec4b5a443e">wxAppBarGetTaskBarState</a>();</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> </div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> <span class="keywordflow">if</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gadd878bfddfe707961941a0fa09f1adcd">wxABF_AUTOHIDETASKBAR</a>) {</div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="comment">// Mimic the auto-hide state of taskbar.</span></div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> SetAutoHide((m_stateTaskBar &amp; ABS_AUTOHIDE) ? <span class="keyword">true</span> : <span class="keyword">false</span>);</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> }</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> </div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> <span class="keywordflow">if</span> (m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gad1a25b75ef14d5ef36d4a21b4f7d2ba3">wxABF_ALWAYSONTOPTASKBAR</a>) {</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> <span class="comment">// Mimic the always-on-top state of taskbar.</span></div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> SetAlwaysOnTop((m_stateTaskBar &amp; ABS_ALWAYSONTOP) ? <span class="keyword">true</span> : <span class="keyword">false</span>);</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> }</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> </div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> }</div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> </div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">case</span> WM_DESTROY: {</div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> wxASSERT_MSG(m_timerID == 0, wxT(<span class="stringliteral">&quot;timer still active&quot;</span>));</div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> </div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> <span class="comment">// Remove the application bar.</span></div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd };</div>
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SHAppBarMessage(ABM_REMOVE, &amp;abd));</div>
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> </div>
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> }</div>
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> </div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordflow">case</span> WM_SHOWWINDOW:</div>
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordflow">if</span> (wParam) {</div>
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> <span class="comment">// Do the false change of state notification, to allow initialization.</span></div>
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> OnChangeState(m_state);</div>
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> </div>
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state)) {</div>
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordflow">if</span> (IsAutoHide()) {</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> <span class="comment">// Register auto-hide application bar.</span></div>
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> RegisterAutoHide(m_state);</div>
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <span class="comment">// Auto-hide failed or wasn&#39;t desired at all.</span></div>
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> DockAppBar(m_state);</div>
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> }</div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> }</div>
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> </div>
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> <span class="comment">// We&#39;re all set. Show the window now.</span></div>
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> <span class="comment">// Hide the window first, to avoid flicker.</span></div>
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> </div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <span class="comment">// Clean previous docking/auto-hide settings if required.</span></div>
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state)) {</div>
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> <span class="keywordflow">if</span> (IsAutoHide())</div>
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> UnregisterAutoHide(m_state);</div>
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> UndockAppBar();</div>
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> }</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> </div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> }</div>
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> </div>
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">case</span> WM_WINDOWPOSCHANGING: {</div>
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">if</span> (m_state != m_stateDesired &amp;&amp; <a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_stateDesired)) {</div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> wxASSERT(lParam);</div>
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> LPWINDOWPOS lpwndpos = (LPWINDOWPOS)lParam;</div>
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> <span class="keywordflow">if</span> (lpwndpos) {</div>
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> <span class="comment">// When about to get docked, fix position and size to avoid Aero Snap interfering with window size.</span></div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> RECT rect;</div>
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> GetDockedRect(m_stateDesired, &amp;rect);</div>
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> lpwndpos-&gt;x = rect.left;</div>
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> lpwndpos-&gt;y = rect.top;</div>
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> lpwndpos-&gt;cx = rect.right - rect.left;</div>
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> lpwndpos-&gt;cy = rect.bottom - rect.top;</div>
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> lpwndpos-&gt;flags &amp;= ~(SWP_NOMOVE | SWP_NOSIZE);</div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> }</div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> }</div>
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> </div>
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span> }</div>
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> </div>
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span> <span class="keywordflow">case</span> WM_WINDOWPOSCHANGED: {</div>
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span> </div>
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state)) {</div>
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span> <span class="comment">// When our window changes position, tell the Shell so that any</span></div>
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span> <span class="comment">// auto-hidden application bar on our edge stays on top of our window making it</span></div>
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> <span class="comment">// always accessible to the user.</span></div>
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd };</div>
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SHAppBarMessage(ABM_WINDOWPOSCHANGED, &amp;abd));</div>
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> }</div>
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> </div>
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span> }</div>
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span> </div>
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> <span class="keywordflow">case</span> WM_ENTERSIZEMOVE:</div>
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span> m_stateDesired = m_state;</div>
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span> </div>
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordflow">case</span> WM_EXITSIZEMOVE: {</div>
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span> </div>
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> <span class="comment">// Clean previous docking/auto-hide settings if required.</span></div>
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state) &amp;&amp;</div>
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span> (m_stateDesired == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a> || m_stateDesired != m_state &amp;&amp; <a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_stateDesired)))</div>
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> {</div>
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span> <span class="keywordflow">if</span> (IsAutoHide())</div>
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> UnregisterAutoHide(m_state);</div>
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (m_stateDesired == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>)</div>
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> UndockAppBar();</div>
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span> }</div>
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> </div>
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span> <span class="comment">// Setup new docking/auto-hide settings.</span></div>
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_stateDesired)) {</div>
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span> <span class="keywordflow">if</span> (IsAutoHide()) {</div>
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span> <span class="comment">// Application bar should be auto-hide. Try to setup it as so.</span></div>
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"> 1167</span> <span class="comment">// Register auto-hide application bar.</span></div>
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span> RegisterAutoHide(m_stateDesired);</div>
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span> <span class="comment">// Auto-hide failed or wasn&#39;t desired at all.</span></div>
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> DockAppBar(m_stateDesired);</div>
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span> }</div>
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> }</div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> </div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> <span class="comment">// Notify about the change of state.</span></div>
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> OnChangeState(m_stateDesired);</div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> m_state = m_stateDesired;</div>
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> m_stateDesired = wxAppBarState::UNKNOWN;</div>
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> </div>
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> }</div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span> </div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> <span class="keywordflow">case</span> WM_MOVING: {</div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> </div>
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> wxASSERT(lParam);</div>
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> LPRECT lpRect = (LPRECT)lParam;</div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> </div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> <span class="comment">// Phase 1. - Determine the desired state (which screen edge or floating) according to the mouse position.</span></div>
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> </div>
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> <a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> uStateDesiredPrev = m_stateDesired;</div>
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> DWORD dwPoint = ::GetMessagePos();</div>
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> wxPoint ptMouse(GET_X_LPARAM(dwPoint), GET_Y_LPARAM(dwPoint));</div>
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span> </div>
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> m_stateDesired = wxAppBarState::UNKNOWN;</div>
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span> </div>
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gaaf93b901e974b0cd4438b69170175ca2">wxABF_ALLOWFLOAT</a>) &amp;&amp; (::GetKeyState(VK_CONTROL) &lt; 0 || !(m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga8b5409e774169b35811b8cbe6d7279e7">wxABF_ALLOWDOCKANY</a>))) {</div>
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span> <span class="comment">// The application bar&#39;s style allows floating and user is holding down the Ctrl key, or docking is disabled anyway, so we&#39;ll force float.</span></div>
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> m_stateDesired = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>;</div>
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> RECT rcWorkArea = {};</div>
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> INT iDist, iDistMin = INT_MAX;</div>
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> </div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> <span class="comment">// Get the rectangle that bounds the size of the screen</span></div>
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> <span class="comment">// minus any docked (but not-autohidden) AppBars.</span></div>
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SystemParametersInfo(SPI_GETWORKAREA, 0, &amp;rcWorkArea, 0));</div>
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span> </div>
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> <span class="comment">// Test all four edges, to find the closest one.</span></div>
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga3ac6f7a930800c924b98669345501a0e">wxABF_ALLOWDOCKTOP</a>) &amp;&amp; (iDist = ptMouse.y - rcWorkArea.top) &lt; iDistMin) {</div>
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> m_stateDesired = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63">wxAppBarState::TOP</a>;</div>
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> iDistMin = iDist;</div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> }</div>
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga46d6172160c331b0265dd632e822a84f">wxABF_ALLOWDOCKBOTTOM</a>) &amp;&amp; (iDist = rcWorkArea.bottom - ptMouse.y) &lt; iDistMin) {</div>
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> m_stateDesired = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">wxAppBarState::BOTTOM</a>;</div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> iDistMin = iDist;</div>
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> }</div>
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#ga01ff72cdb36f317323b5b085ee7c3b46">wxABF_ALLOWDOCKLEFT</a>) &amp;&amp; (iDist = ptMouse.x - rcWorkArea.left) &lt; iDistMin) {</div>
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span> m_stateDesired = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">wxAppBarState::LEFT</a>;</div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> iDistMin = iDist;</div>
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span> }</div>
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gac4c88cf9104926e6b97159eeb8c1fc46">wxABF_ALLOWDOCKRIGHT</a>) &amp;&amp; (iDist = rcWorkArea.right - ptMouse.x) &lt; iDistMin) {</div>
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> m_stateDesired = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403">wxAppBarState::RIGHT</a>;</div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> iDistMin = iDist;</div>
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> }</div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordflow">if</span> ((m_flags &amp; <a class="code hl_define" href="group__wx_extend.html#gaaf93b901e974b0cd4438b69170175ca2">wxABF_ALLOWFLOAT</a>) &amp;&amp; (iDist = wxMax(::GetSystemMetrics(SM_CXVSCROLL), ::GetSystemMetrics(SM_CYHSCROLL))) &lt; iDistMin) {</div>
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> m_stateDesired = <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>;</div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> iDistMin = iDist;</div>
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> }</div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> }</div>
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> </div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> wxASSERT_MSG(m_stateDesired != wxAppBarState::UNKNOWN, wxT(<span class="stringliteral">&quot;undetermined application bar state&quot;</span>));</div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> </div>
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> <span class="comment">// Phase 2. - Calculate the desired rectangle, according to the desired state.</span></div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> </div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordflow">if</span> (m_stateDesired == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>) {</div>
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(uStateDesiredPrev)) {</div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> <span class="comment">// We just switched from docked to floating state. Align the window according to the mouse pointer.</span></div>
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> lpRect-&gt;left = ptMouse.x - m_sizeFloat.cx / 2;</div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> lpRect-&gt;top = ptMouse.y;</div>
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> </div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> <span class="comment">// We also resize back to floating window size.</span></div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> lpRect-&gt;right = lpRect-&gt;left + m_sizeFloat.cx;</div>
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> lpRect-&gt;bottom = lpRect-&gt;top + m_sizeFloat.cy;</div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span> }</div>
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_stateDesired)) {</div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> <span class="keywordflow">if</span> (IsAutoHide()) {</div>
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> <span class="comment">// Calculate auto-hide window rect.</span></div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> GetAutoHideRect(m_stateDesired, <span class="keyword">false</span>, lpRect);</div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> <span class="comment">// Calculate docked window rect.</span></div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> GetDockedRect(m_stateDesired, lpRect);</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> }</div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">// Window is not floating. It&#39;s not docked either. Then what?</span></div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> wxFAIL_MSG(wxT(<span class="stringliteral">&quot;unknown application bar state&quot;</span>));</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> }</div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> </div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordflow">if</span> (m_stateDesired != uStateDesiredPrev) {</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> <span class="comment">// Notify about the proposed change of state, but don&#39;t change the state yet.</span></div>
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> OnChangeState(m_stateDesired);</div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> }</div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> </div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> }</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> </div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> <span class="keywordflow">case</span> WM_SIZING: {</div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> wxASSERT(lParam);</div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> LPRECT lpRect = (LPRECT)lParam;</div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> </div>
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordflow">if</span> (m_stateDesired == <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a>) {</div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> <span class="comment">// Remember the floating window size.</span></div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> m_sizeFloat.cx = lpRect-&gt;right - lpRect-&gt;left;</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> m_sizeFloat.cy = lpRect-&gt;bottom - lpRect-&gt;top;</div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_stateDesired)) {</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> <span class="comment">// Remember the docked window size.</span></div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#gacf6e1af88190be67e1535fe939df194d">wxAppBarIsDockedVert</a>(m_stateDesired))</div>
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> m_sizeDocked.cx = lpRect-&gt;right - lpRect-&gt;left;</div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> m_sizeDocked.cy = lpRect-&gt;bottom - lpRect-&gt;top;</div>
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> <span class="comment">// Unknown state.</span></div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> wxFAIL_MSG(wxT(<span class="stringliteral">&quot;unknown application bar state&quot;</span>));</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> }</div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> </div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> }</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> </div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordflow">case</span> WM_GETMINMAXINFO: {</div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> </div>
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> wxASSERT(lParam);</div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> LPMINMAXINFO lpMMI = (LPMINMAXINFO)lParam;</div>
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> </div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> <span class="comment">// Convert client size to window size.</span></div>
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> RECT rectClient = {};</div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetClientRect(m_hWnd, &amp;rectClient));</div>
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> <span class="keywordflow">if</span> (rectClient.right - rectClient.left &amp;&amp; rectClient.bottom - rectClient.top) {</div>
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> RECT rectWindow = {};</div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetWindowRect(m_hWnd, &amp;rectWindow));</div>
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> lpMMI-&gt;ptMinTrackSize.x = m_sizeMin.cx + (rectWindow.right - rectWindow.left) - (rectClient.right - rectClient.left);</div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> lpMMI-&gt;ptMinTrackSize.y = m_sizeMin.cy + (rectWindow.bottom - rectWindow.top ) - (rectClient.bottom - rectClient.top );</div>
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> }</div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> </div>
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span> }</div>
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> </div>
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span> <span class="keywordflow">case</span> WM_NCMOUSEMOVE:</div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> <span class="comment">// If we are a docked, auto-hidden application bar, shown us</span></div>
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> <span class="comment">// when the user moves over our non-client area</span></div>
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> ShowAutoHideAppBar(<span class="keyword">true</span>);</div>
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> </div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> </div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordflow">case</span> WM_NCHITTEST: {</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> <span class="comment">// Find out what the base class thinks is the hit test code.</span></div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> </div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> <span class="keywordflow">if</span> (HTSIZEFIRST &lt;= lResult &amp;&amp; lResult &lt;= HTSIZELAST) {</div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> <span class="keywordflow">if</span> (GetAllowSizing()) {</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state)) {</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <span class="comment">// When the application bar is docked, the user can resize only one edge.</span></div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <span class="comment">// This next section determines which edge the user can resize.</span></div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> <span class="comment">// To allow resizing, the application bar window must have the WS_THICKFRAME style.</span></div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> </div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> RECT rcClient = {};</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> wxPoint point(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> </div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> <span class="comment">// Resizing IS allowed for the edge that the application bar is docked on.</span></div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <span class="comment">// Get the location of the appbar&#39;s client area in screen coordinates.</span></div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetClientRect(m_hWnd, &amp;rcClient));</div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::ClientToScreen(m_hWnd, (LPPOINT)&amp;rcClient));</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::ClientToScreen(m_hWnd, ((LPPOINT)&amp;rcClient) + 1));</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> </div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> <span class="comment">// Assume that we can&#39;t resize</span></div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> lResult = HTBORDER;</div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> </div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">switch</span> (m_state) {</div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">wxAppBarState::LEFT</a>: <span class="keywordflow">if</span> (point.x &gt; rcClient.right) lResult = HTRIGHT; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63">wxAppBarState::TOP</a>: <span class="keywordflow">if</span> (point.y &gt; rcClient.bottom) lResult = HTBOTTOM; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403">wxAppBarState::RIGHT</a>: <span class="keywordflow">if</span> (point.x &lt; rcClient.left) lResult = HTLEFT; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">wxAppBarState::BOTTOM</a>: <span class="keywordflow">if</span> (point.y &lt; rcClient.top) lResult = HTTOP; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> }</div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> }</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> <span class="comment">// The sizing is locked. Pretend that the mouse is not on a resize border.</span></div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> lResult = HTBORDER;</div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> }</div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> }</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> </div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> }</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> </div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> <span class="keywordflow">case</span> WM_ACTIVATE: {</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> </div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state)) {</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> <span class="comment">// When our window changes activation state, tell the Shell so that any</span></div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> <span class="comment">// auto-hidden application bar on our edge stays on top of our window making it</span></div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> <span class="comment">// always accessible to the user.</span></div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd };</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SHAppBarMessage(ABM_ACTIVATE, &amp;abd));</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> </div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> <span class="keywordflow">if</span> (LOWORD(wParam) == WA_INACTIVE &amp;&amp; IsAutoHide()) {</div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> <span class="comment">// Hide the application bar if we are docked and auto-hidden.</span></div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> ShowAutoHideAppBar(<span class="keyword">false</span>);</div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> }</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> }</div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> </div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> <span class="keywordflow">return</span> lResult;</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> }</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> </div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> <span class="keywordflow">case</span> WM_TIMER:</div>
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span> <span class="keywordflow">if</span> (wParam == <a class="code hl_define" href="group__wx_extend.html#ga35adecc26a1a7e1a88f27bce2b220e3f">wxABT_AUTOHIDETIMERID</a>) {</div>
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordflow">if</span> (!GetAutoHidden() &amp;&amp;</div>
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"> 1375</span> <a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state) &amp;&amp;</div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"> 1376</span> GetActiveWindow() != m_hWnd)</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span> {</div>
<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"> 1378</span> <span class="comment">// Get the position of the mouse and the application bar&#39;s position</span></div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"> 1379</span> <span class="comment">// Everything must be in screen coordinates.</span></div>
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span> DWORD dwPoint = ::GetMessagePos();</div>
<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span> wxPoint pointMouse(GET_X_LPARAM(dwPoint), GET_Y_LPARAM(dwPoint));</div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"> 1382</span> RECT rect = {};</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::GetWindowRect(m_hWnd, &amp;rect));</div>
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> wxRect rectBounds(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);</div>
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span> </div>
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span> <span class="comment">// Add a little margin around the application bar</span></div>
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"> 1387</span> rectBounds.Inflate(2 * ::GetSystemMetrics(SM_CXDOUBLECLK), 2 * ::GetSystemMetrics(SM_CYDOUBLECLK));</div>
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span> <span class="keywordflow">if</span> (!rectBounds.Contains(pointMouse)) {</div>
<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span> <span class="comment">// If the mouse is NOT over or near the application bar, hide it.</span></div>
<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"> 1390</span> ShowAutoHideAppBar(<span class="keyword">false</span>);</div>
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"> 1391</span> }</div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span> }</div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span> </div>
<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"> 1396</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span> </div>
<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"> 1398</span> <span class="keywordflow">case</span> <a class="code hl_define" href="group__wx_extend.html#ga28549a910dbd9c7222691b22f7aee628">WM_AB_NOTIFY</a>:</div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span> <span class="keywordflow">switch</span> (wParam) {</div>
<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span> <span class="keywordflow">case</span> ABN_FULLSCREENAPP:</div>
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordflow">if</span> (lParam)</div>
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span> m_flags |= <a class="code hl_define" href="group__wx_extend.html#ga09dfc3ab0c3551061d85c9ce98815b56">wxABF_FULLSCREENAPPOPEN</a>;</div>
<div class="line"><a id="l01403" name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"> 1404</span> m_flags &amp;= ~wxABF_FULLSCREENAPPOPEN;</div>
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"> 1405</span> OnChangeTaskBarState(<a class="code hl_function" href="group__wx_extend.html#ga24d7244fd3b59ee6c2bf84ec4b5a443e">wxAppBarGetTaskBarState</a>());</div>
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"> 1406</span> </div>
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span> <span class="keywordflow">if</span> (::IsWindowVisible(m_hWnd)) {</div>
<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"> 1408</span> <span class="comment">// Set the Z-order.</span></div>
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"> 1409</span> <a class="code hl_define" href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a>(::SetWindowPos(m_hWnd, <a class="code hl_function" href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd">wxAppBarGetZWnd</a>(m_state, m_flags), 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOSENDCHANGING));</div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span> }</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"> 1412</span> </div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"> 1413</span> <span class="keywordflow">case</span> ABN_POSCHANGED:</div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(m_state) &amp;&amp; !IsAutoHide())</div>
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"> 1415</span> DockAppBar(m_state);</div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"> 1417</span> </div>
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"> 1418</span> <span class="keywordflow">case</span> ABN_STATECHANGE:</div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span> <span class="comment">// Taskbar&#39;s state changed.</span></div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span> OnChangeTaskBarState(<a class="code hl_function" href="group__wx_extend.html#ga24d7244fd3b59ee6c2bf84ec4b5a443e">wxAppBarGetTaskBarState</a>());</div>
<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"> 1421</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span> </div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> <span class="keywordflow">case</span> ABN_WINDOWARRANGE:</div>
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span> OnWindowsArrange(lParam ? <span class="keyword">true</span> : <span class="keyword">false</span>);</div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span> </div>
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span> <span class="comment">// Unknown message.</span></div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> wxFAIL_MSG(wxString::Format(wxT(<span class="stringliteral">&quot;unknown application bar notification 0x%x&quot;</span>), wParam));</div>
<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span> }</div>
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span> </div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span> </div>
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"> 1435</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span> <span class="keywordflow">return</span> W::MSWWindowProc(message, wParam, lParam);</div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span> }</div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span>}</div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> </div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span> </div>
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"> 1443</span> </div>
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"> 1444</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span>_Use_decl_annotations_</div>
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::DockAppBar</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state)</div>
<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"> 1447</span>{</div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span> wxASSERT(<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(state));</div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> </div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span> <span class="comment">// Calculate docked window rect and dock the window there.</span></div>
<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd, 0, <span class="keyword">static_cast&lt;</span>UINT<span class="keyword">&gt;</span>(state) };</div>
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</span> GetDockedRect(state, &amp;(abd.rc));</div>
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span> wxCHECK(::SHAppBarMessage(ABM_SETPOS, &amp;abd), <span class="keyword">false</span>);</div>
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span> wxCHECK(::SetWindowPos(m_hWnd, <a class="code hl_function" href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd">wxAppBarGetZWnd</a>(state, m_flags), abd.rc.left, abd.rc.top, abd.rc.right - abd.rc.left, abd.rc.bottom - abd.rc.top, SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_FRAMECHANGED), <span class="keyword">false</span>);</div>
<div class="line"><a id="l01455" name="l01455"></a><span class="lineno"> 1455</span> </div>
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"> 1456</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span>}</div>
<div class="line"><a id="l01458" name="l01458"></a><span class="lineno"> 1458</span> </div>
<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span> </div>
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span>_Use_decl_annotations_</div>
<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::UndockAppBar</a>()</div>
<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span>{</div>
<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span> <span class="comment">// Free application bar&#39;s space to undock.</span></div>
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"> 1465</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd, 0, ABE_LEFT };</div>
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span> wxASSERT(!abd.rc.left &amp;&amp; !abd.rc.top &amp;&amp; !abd.rc.right &amp;&amp; !abd.rc.bottom);</div>
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span> wxCHECK(::SHAppBarMessage(ABM_SETPOS, &amp;abd), <span class="keyword">false</span>);</div>
<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span> </div>
<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</span>}</div>
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span> </div>
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span> </div>
<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01474" name="l01474"></a><span class="lineno"> 1474</span>_Use_decl_annotations_</div>
<div class="line"><a id="l01475" name="l01475"></a><span class="lineno"> 1475</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::RegisterAutoHide</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state)</div>
<div class="line"><a id="l01476" name="l01476"></a><span class="lineno"> 1476</span>{</div>
<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"> 1477</span> wxASSERT(<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(state));</div>
<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span> </div>
<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span> <span class="comment">// Register application bar as auto-hide.</span></div>
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd, 0, <span class="keyword">static_cast&lt;</span>UINT<span class="keyword">&gt;</span>(state), {}, (LPARAM)<span class="keyword">true</span> };</div>
<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"> 1481</span> <span class="keywordflow">if</span> (::SHAppBarMessage(ABM_SETAUTOHIDEBAR, &amp;abd)) {</div>
<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span> <span class="comment">// Auto-hide succeeded.</span></div>
<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span> m_flags |= <a class="code hl_define" href="group__wx_extend.html#ga73648c67f839edae65a374b713e6fd08">wxABF_AUTOHIDE</a>;</div>
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"> 1484</span> m_flags &amp;= ~wxABF_AUTOHIDDEN;</div>
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span> </div>
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span> <span class="comment">// Calculate auto-hidden window rect and move the window there.</span></div>
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</span> GetAutoHideRect(state, <span class="keyword">false</span>, &amp;(abd.rc));</div>
<div class="line"><a id="l01488" name="l01488"></a><span class="lineno"> 1488</span> wxCHECK(::SetWindowPos(m_hWnd, <a class="code hl_function" href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd">wxAppBarGetZWnd</a>(state, m_flags), abd.rc.left, abd.rc.top, abd.rc.right - abd.rc.left, abd.rc.bottom - abd.rc.top, SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_FRAMECHANGED), <span class="keyword">false</span>);</div>
<div class="line"><a id="l01489" name="l01489"></a><span class="lineno"> 1489</span> </div>
<div class="line"><a id="l01490" name="l01490"></a><span class="lineno"> 1490</span> <span class="comment">// Reset auto-hide timer.</span></div>
<div class="line"><a id="l01491" name="l01491"></a><span class="lineno"> 1491</span> m_timerID = ::SetTimer(m_hWnd, <a class="code hl_define" href="group__wx_extend.html#ga35adecc26a1a7e1a88f27bce2b220e3f">wxABT_AUTOHIDETIMERID</a>, <a class="code hl_define" href="group__wx_extend.html#ga734516e6fc45702ae4623703f7d32fb9">wxABT_AUTOHIDETIMERINTERVAL</a>, NULL);</div>
<div class="line"><a id="l01492" name="l01492"></a><span class="lineno"> 1492</span> </div>
<div class="line"><a id="l01493" name="l01493"></a><span class="lineno"> 1493</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01494" name="l01494"></a><span class="lineno"> 1494</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01495" name="l01495"></a><span class="lineno"> 1495</span> <span class="comment">// Auto-hide failed; some other application bar must be hidden on this edge already.</span></div>
<div class="line"><a id="l01496" name="l01496"></a><span class="lineno"> 1496</span> m_flags &amp;= ~(<a class="code hl_define" href="group__wx_extend.html#ga73648c67f839edae65a374b713e6fd08">wxABF_AUTOHIDE</a> | <a class="code hl_define" href="group__wx_extend.html#ga974924b2902609bab0aff74975488100">wxABF_AUTOHIDDEN</a>);</div>
<div class="line"><a id="l01497" name="l01497"></a><span class="lineno"> 1497</span> </div>
<div class="line"><a id="l01498" name="l01498"></a><span class="lineno"> 1498</span> <span class="comment">// Post a message to user.</span></div>
<div class="line"><a id="l01499" name="l01499"></a><span class="lineno"> 1499</span> OnAutoHideDenied();</div>
<div class="line"><a id="l01500" name="l01500"></a><span class="lineno"> 1500</span> </div>
<div class="line"><a id="l01501" name="l01501"></a><span class="lineno"> 1501</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l01502" name="l01502"></a><span class="lineno"> 1502</span> }</div>
<div class="line"><a id="l01503" name="l01503"></a><span class="lineno"> 1503</span>}</div>
<div class="line"><a id="l01504" name="l01504"></a><span class="lineno"> 1504</span> </div>
<div class="line"><a id="l01505" name="l01505"></a><span class="lineno"> 1505</span> </div>
<div class="line"><a id="l01506" name="l01506"></a><span class="lineno"> 1506</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01507" name="l01507"></a><span class="lineno"> 1507</span>_Use_decl_annotations_</div>
<div class="line"><a id="l01508" name="l01508"></a><span class="lineno"> 1508</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::UnregisterAutoHide</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state)</div>
<div class="line"><a id="l01509" name="l01509"></a><span class="lineno"> 1509</span>{</div>
<div class="line"><a id="l01510" name="l01510"></a><span class="lineno"> 1510</span> wxASSERT(<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(state));</div>
<div class="line"><a id="l01511" name="l01511"></a><span class="lineno"> 1511</span> </div>
<div class="line"><a id="l01512" name="l01512"></a><span class="lineno"> 1512</span> <span class="comment">// Unregister application bar as auto-hide.</span></div>
<div class="line"><a id="l01513" name="l01513"></a><span class="lineno"> 1513</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd, 0, <span class="keyword">static_cast&lt;</span>UINT<span class="keyword">&gt;</span>(state), {}, (LPARAM)<span class="keyword">false</span> };</div>
<div class="line"><a id="l01514" name="l01514"></a><span class="lineno"> 1514</span> wxCHECK(::SHAppBarMessage(ABM_SETAUTOHIDEBAR, &amp;abd), <span class="keyword">false</span>);</div>
<div class="line"><a id="l01515" name="l01515"></a><span class="lineno"> 1515</span> m_flags &amp;= ~wxABF_AUTOHIDDEN;</div>
<div class="line"><a id="l01516" name="l01516"></a><span class="lineno"> 1516</span> </div>
<div class="line"><a id="l01517" name="l01517"></a><span class="lineno"> 1517</span> <span class="comment">// Cancel the timer.</span></div>
<div class="line"><a id="l01518" name="l01518"></a><span class="lineno"> 1518</span> <span class="keywordflow">if</span> (m_timerID) {</div>
<div class="line"><a id="l01519" name="l01519"></a><span class="lineno"> 1519</span> ::KillTimer(m_hWnd, m_timerID);</div>
<div class="line"><a id="l01520" name="l01520"></a><span class="lineno"> 1520</span> m_timerID = 0;</div>
<div class="line"><a id="l01521" name="l01521"></a><span class="lineno"> 1521</span> }</div>
<div class="line"><a id="l01522" name="l01522"></a><span class="lineno"> 1522</span> </div>
<div class="line"><a id="l01523" name="l01523"></a><span class="lineno"> 1523</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01524" name="l01524"></a><span class="lineno"> 1524</span>}</div>
<div class="line"><a id="l01525" name="l01525"></a><span class="lineno"> 1525</span> </div>
<div class="line"><a id="l01526" name="l01526"></a><span class="lineno"> 1526</span> </div>
<div class="line"><a id="l01527" name="l01527"></a><span class="lineno"> 1527</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01528" name="l01528"></a><span class="lineno"> 1528</span>_Use_decl_annotations_</div>
<div class="line"><a id="l01529" name="l01529"></a><span class="lineno"> 1529</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::GetDockedRect</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state, LPRECT rect)<span class="keyword"> const</span></div>
<div class="line"><a id="l01530" name="l01530"></a><span class="lineno"> 1530</span><span class="keyword"></span>{</div>
<div class="line"><a id="l01531" name="l01531"></a><span class="lineno"> 1531</span> wxASSERT(<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(state));</div>
<div class="line"><a id="l01532" name="l01532"></a><span class="lineno"> 1532</span> wxASSERT(rect);</div>
<div class="line"><a id="l01533" name="l01533"></a><span class="lineno"> 1533</span> </div>
<div class="line"><a id="l01534" name="l01534"></a><span class="lineno"> 1534</span> <span class="comment">// Set dimensions to full screen.</span></div>
<div class="line"><a id="l01535" name="l01535"></a><span class="lineno"> 1535</span> APPBARDATA abd = { <span class="keyword">sizeof</span>(abd), m_hWnd, 0, <span class="keyword">static_cast&lt;</span>UINT<span class="keyword">&gt;</span>(state), { 0, 0, ::GetSystemMetrics(SM_CXSCREEN), ::GetSystemMetrics(SM_CYSCREEN) } };</div>
<div class="line"><a id="l01536" name="l01536"></a><span class="lineno"> 1536</span> wxCHECK(::SHAppBarMessage(ABM_QUERYPOS, &amp;abd), <span class="keyword">false</span>);</div>
<div class="line"><a id="l01537" name="l01537"></a><span class="lineno"> 1537</span> </div>
<div class="line"><a id="l01538" name="l01538"></a><span class="lineno"> 1538</span> <span class="comment">// Correct our dimensions accordingly.</span></div>
<div class="line"><a id="l01539" name="l01539"></a><span class="lineno"> 1539</span> <span class="keywordflow">switch</span> (state) {</div>
<div class="line"><a id="l01540" name="l01540"></a><span class="lineno"> 1540</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">wxAppBarState::LEFT</a>:</div>
<div class="line"><a id="l01541" name="l01541"></a><span class="lineno"> 1541</span> rect-&gt;left = abd.rc.left;</div>
<div class="line"><a id="l01542" name="l01542"></a><span class="lineno"> 1542</span> rect-&gt;top = abd.rc.top;</div>
<div class="line"><a id="l01543" name="l01543"></a><span class="lineno"> 1543</span> rect-&gt;right = abd.rc.left + m_sizeDocked.cx;</div>
<div class="line"><a id="l01544" name="l01544"></a><span class="lineno"> 1544</span> rect-&gt;bottom = abd.rc.bottom;</div>
<div class="line"><a id="l01545" name="l01545"></a><span class="lineno"> 1545</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01546" name="l01546"></a><span class="lineno"> 1546</span> </div>
<div class="line"><a id="l01547" name="l01547"></a><span class="lineno"> 1547</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63">wxAppBarState::TOP</a>:</div>
<div class="line"><a id="l01548" name="l01548"></a><span class="lineno"> 1548</span> rect-&gt;left = abd.rc.left;</div>
<div class="line"><a id="l01549" name="l01549"></a><span class="lineno"> 1549</span> rect-&gt;top = abd.rc.top;</div>
<div class="line"><a id="l01550" name="l01550"></a><span class="lineno"> 1550</span> rect-&gt;right = abd.rc.right;</div>
<div class="line"><a id="l01551" name="l01551"></a><span class="lineno"> 1551</span> rect-&gt;bottom = abd.rc.top + m_sizeDocked.cy;</div>
<div class="line"><a id="l01552" name="l01552"></a><span class="lineno"> 1552</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01553" name="l01553"></a><span class="lineno"> 1553</span> </div>
<div class="line"><a id="l01554" name="l01554"></a><span class="lineno"> 1554</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403">wxAppBarState::RIGHT</a>:</div>
<div class="line"><a id="l01555" name="l01555"></a><span class="lineno"> 1555</span> rect-&gt;left = abd.rc.right - m_sizeDocked.cx;</div>
<div class="line"><a id="l01556" name="l01556"></a><span class="lineno"> 1556</span> rect-&gt;top = abd.rc.top;</div>
<div class="line"><a id="l01557" name="l01557"></a><span class="lineno"> 1557</span> rect-&gt;right = abd.rc.right;</div>
<div class="line"><a id="l01558" name="l01558"></a><span class="lineno"> 1558</span> rect-&gt;bottom = abd.rc.bottom;</div>
<div class="line"><a id="l01559" name="l01559"></a><span class="lineno"> 1559</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01560" name="l01560"></a><span class="lineno"> 1560</span> </div>
<div class="line"><a id="l01561" name="l01561"></a><span class="lineno"> 1561</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">wxAppBarState::BOTTOM</a>:</div>
<div class="line"><a id="l01562" name="l01562"></a><span class="lineno"> 1562</span> rect-&gt;left = abd.rc.left;</div>
<div class="line"><a id="l01563" name="l01563"></a><span class="lineno"> 1563</span> rect-&gt;top = abd.rc.bottom - m_sizeDocked.cy;</div>
<div class="line"><a id="l01564" name="l01564"></a><span class="lineno"> 1564</span> rect-&gt;right = abd.rc.right;</div>
<div class="line"><a id="l01565" name="l01565"></a><span class="lineno"> 1565</span> rect-&gt;bottom = abd.rc.bottom;</div>
<div class="line"><a id="l01566" name="l01566"></a><span class="lineno"> 1566</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01567" name="l01567"></a><span class="lineno"> 1567</span> </div>
<div class="line"><a id="l01568" name="l01568"></a><span class="lineno"> 1568</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01569" name="l01569"></a><span class="lineno"> 1569</span> <span class="comment">// Unknown state.</span></div>
<div class="line"><a id="l01570" name="l01570"></a><span class="lineno"> 1570</span> wxFAIL_MSG(wxT(<span class="stringliteral">&quot;unsupported application bar state&quot;</span>));</div>
<div class="line"><a id="l01571" name="l01571"></a><span class="lineno"> 1571</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l01572" name="l01572"></a><span class="lineno"> 1572</span> }</div>
<div class="line"><a id="l01573" name="l01573"></a><span class="lineno"> 1573</span> </div>
<div class="line"><a id="l01574" name="l01574"></a><span class="lineno"> 1574</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01575" name="l01575"></a><span class="lineno"> 1575</span>}</div>
<div class="line"><a id="l01576" name="l01576"></a><span class="lineno"> 1576</span> </div>
<div class="line"><a id="l01577" name="l01577"></a><span class="lineno"> 1577</span> </div>
<div class="line"><a id="l01578" name="l01578"></a><span class="lineno"> 1578</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a id="l01579" name="l01579"></a><span class="lineno"> 1579</span>_Use_decl_annotations_</div>
<div class="line"><a id="l01580" name="l01580"></a><span class="lineno"> 1580</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_class" href="classwx_app_bar.html">wxAppBar&lt;W&gt;::GetAutoHideRect</a>(<a class="code hl_enumeration" href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a> state, <span class="keywordtype">bool</span> bAutoHidden, LPRECT rect)<span class="keyword"> const</span></div>
<div class="line"><a id="l01581" name="l01581"></a><span class="lineno"> 1581</span><span class="keyword"></span>{</div>
<div class="line"><a id="l01582" name="l01582"></a><span class="lineno"> 1582</span> wxASSERT(<a class="code hl_function" href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a>(state));</div>
<div class="line"><a id="l01583" name="l01583"></a><span class="lineno"> 1583</span> wxASSERT(rect);</div>
<div class="line"><a id="l01584" name="l01584"></a><span class="lineno"> 1584</span> </div>
<div class="line"><a id="l01585" name="l01585"></a><span class="lineno"> 1585</span> <span class="comment">// Keep a part of the application bar visible at all times</span></div>
<div class="line"><a id="l01586" name="l01586"></a><span class="lineno"> 1586</span> <span class="keyword">const</span> <span class="keywordtype">int</span> iBorder = ::GetSystemMetrics(<a class="code hl_function" href="group__wx_extend.html#gacf6e1af88190be67e1535fe939df194d">wxAppBarIsDockedVert</a>(state) ? SM_CXBORDER : SM_CYBORDER) * 2;</div>
<div class="line"><a id="l01587" name="l01587"></a><span class="lineno"> 1587</span> <span class="keyword">const</span> RECT rcScreen = {</div>
<div class="line"><a id="l01588" name="l01588"></a><span class="lineno"> 1588</span> 0,</div>
<div class="line"><a id="l01589" name="l01589"></a><span class="lineno"> 1589</span> 0,</div>
<div class="line"><a id="l01590" name="l01590"></a><span class="lineno"> 1590</span> ::GetSystemMetrics(SM_CXSCREEN),</div>
<div class="line"><a id="l01591" name="l01591"></a><span class="lineno"> 1591</span> ::GetSystemMetrics(SM_CYSCREEN)</div>
<div class="line"><a id="l01592" name="l01592"></a><span class="lineno"> 1592</span> };</div>
<div class="line"><a id="l01593" name="l01593"></a><span class="lineno"> 1593</span> </div>
<div class="line"><a id="l01594" name="l01594"></a><span class="lineno"> 1594</span> <span class="comment">// Correct our dimensions accordingly.</span></div>
<div class="line"><a id="l01595" name="l01595"></a><span class="lineno"> 1595</span> <span class="keywordflow">switch</span> (state) {</div>
<div class="line"><a id="l01596" name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">wxAppBarState::LEFT</a>:</div>
<div class="line"><a id="l01597" name="l01597"></a><span class="lineno"> 1597</span> rect-&gt;top = rcScreen.top;</div>
<div class="line"><a id="l01598" name="l01598"></a><span class="lineno"> 1598</span> rect-&gt;bottom = rcScreen.bottom;</div>
<div class="line"><a id="l01599" name="l01599"></a><span class="lineno"> 1599</span> rect-&gt;right = rcScreen.left + (bAutoHidden ? iBorder : m_sizeDocked.cx);</div>
<div class="line"><a id="l01600" name="l01600"></a><span class="lineno"> 1600</span> rect-&gt;left = rect-&gt;right - m_sizeDocked.cx;</div>
<div class="line"><a id="l01601" name="l01601"></a><span class="lineno"> 1601</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01602" name="l01602"></a><span class="lineno"> 1602</span> </div>
<div class="line"><a id="l01603" name="l01603"></a><span class="lineno"> 1603</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63">wxAppBarState::TOP</a>:</div>
<div class="line"><a id="l01604" name="l01604"></a><span class="lineno"> 1604</span> rect-&gt;left = rcScreen.left;</div>
<div class="line"><a id="l01605" name="l01605"></a><span class="lineno"> 1605</span> rect-&gt;right = rcScreen.right;</div>
<div class="line"><a id="l01606" name="l01606"></a><span class="lineno"> 1606</span> rect-&gt;bottom = rcScreen.top + (bAutoHidden ? iBorder : m_sizeDocked.cy);</div>
<div class="line"><a id="l01607" name="l01607"></a><span class="lineno"> 1607</span> rect-&gt;top = rect-&gt;bottom - m_sizeDocked.cy;</div>
<div class="line"><a id="l01608" name="l01608"></a><span class="lineno"> 1608</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01609" name="l01609"></a><span class="lineno"> 1609</span> </div>
<div class="line"><a id="l01610" name="l01610"></a><span class="lineno"> 1610</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403">wxAppBarState::RIGHT</a>:</div>
<div class="line"><a id="l01611" name="l01611"></a><span class="lineno"> 1611</span> rect-&gt;left = rcScreen.right - (bAutoHidden ? iBorder : m_sizeDocked.cx);</div>
<div class="line"><a id="l01612" name="l01612"></a><span class="lineno"> 1612</span> rect-&gt;top = rcScreen.top;</div>
<div class="line"><a id="l01613" name="l01613"></a><span class="lineno"> 1613</span> rect-&gt;right = rect-&gt;left + m_sizeDocked.cx;</div>
<div class="line"><a id="l01614" name="l01614"></a><span class="lineno"> 1614</span> rect-&gt;bottom = rcScreen.bottom;</div>
<div class="line"><a id="l01615" name="l01615"></a><span class="lineno"> 1615</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01616" name="l01616"></a><span class="lineno"> 1616</span> </div>
<div class="line"><a id="l01617" name="l01617"></a><span class="lineno"> 1617</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">wxAppBarState::BOTTOM</a>:</div>
<div class="line"><a id="l01618" name="l01618"></a><span class="lineno"> 1618</span> rect-&gt;left = rcScreen.left;</div>
<div class="line"><a id="l01619" name="l01619"></a><span class="lineno"> 1619</span> rect-&gt;top = rcScreen.bottom - (bAutoHidden ? iBorder : m_sizeDocked.cy);</div>
<div class="line"><a id="l01620" name="l01620"></a><span class="lineno"> 1620</span> rect-&gt;right = rcScreen.right;</div>
<div class="line"><a id="l01621" name="l01621"></a><span class="lineno"> 1621</span> rect-&gt;bottom = rect-&gt;top + m_sizeDocked.cy;</div>
<div class="line"><a id="l01622" name="l01622"></a><span class="lineno"> 1622</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01623" name="l01623"></a><span class="lineno"> 1623</span> </div>
<div class="line"><a id="l01624" name="l01624"></a><span class="lineno"> 1624</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01625" name="l01625"></a><span class="lineno"> 1625</span> <span class="comment">// Unknown state.</span></div>
<div class="line"><a id="l01626" name="l01626"></a><span class="lineno"> 1626</span> wxFAIL_MSG(wxT(<span class="stringliteral">&quot;unsupported application bar state&quot;</span>));</div>
<div class="line"><a id="l01627" name="l01627"></a><span class="lineno"> 1627</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l01628" name="l01628"></a><span class="lineno"> 1628</span> }</div>
<div class="line"><a id="l01629" name="l01629"></a><span class="lineno"> 1629</span> </div>
<div class="line"><a id="l01630" name="l01630"></a><span class="lineno"> 1630</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01631" name="l01631"></a><span class="lineno"> 1631</span>}</div>
<div class="line"><a id="l01632" name="l01632"></a><span class="lineno"> 1632</span> </div>
<div class="ttc" id="aclasswx_app_bar_dialog_html"><div class="ttname"><a href="classwx_app_bar_dialog.html">wxAppBarDialog</a></div><div class="ttdoc">Dockable application bar dialog.</div><div class="ttdef"><b>Definition:</b> appbar.h:344</div></div>
<div class="ttc" id="aclasswx_app_bar_frame_html"><div class="ttname"><a href="classwx_app_bar_frame.html">wxAppBarFrame</a></div><div class="ttdoc">Dockable application bar frame.</div><div class="ttdef"><b>Definition:</b> appbar.h:305</div></div>
<div class="ttc" id="aclasswx_app_bar_html"><div class="ttname"><a href="classwx_app_bar.html">wxAppBar</a></div><div class="ttdoc">Dockable application bar template.</div><div class="ttdef"><b>Definition:</b> appbar.h:103</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a0283c72da37448e33bb1aa83598da38b"><div class="ttname"><a href="classwx_app_bar.html#a0283c72da37448e33bb1aa83598da38b">wxAppBar::m_timerID</a></div><div class="ttdeci">UINT_PTR m_timerID</div><div class="ttdoc">Application bar's timer id.</div><div class="ttdef"><b>Definition:</b> appbar.h:289</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a10e2e6f46f8c90dcd76f27b02dd4fe45"><div class="ttname"><a href="classwx_app_bar.html#a10e2e6f46f8c90dcd76f27b02dd4fe45">wxAppBar::IsAutoHide</a></div><div class="ttdeci">bool IsAutoHide() const</div><div class="ttdoc">Returns if application bar is configured for auto-hide.</div><div class="ttdef"><b>Definition:</b> appbar.h:618</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a154d1f7a4e04ab2f61adcf205abd4961"><div class="ttname"><a href="classwx_app_bar.html#a154d1f7a4e04ab2f61adcf205abd4961">wxAppBar::IsAlwaysOnTop</a></div><div class="ttdeci">bool IsAlwaysOnTop() const</div><div class="ttdoc">Returns whether application bar is displayed always on top.</div><div class="ttdef"><b>Definition:</b> appbar.h:594</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a40b3039c0f7a672d16c1187c8878ded6"><div class="ttname"><a href="classwx_app_bar.html#a40b3039c0f7a672d16c1187c8878ded6">wxAppBar::GetState</a></div><div class="ttdeci">wxAppBarState GetState() const</div><div class="ttdoc">Returns current state of the application bar.</div><div class="ttdef"><b>Definition:</b> appbar.h:587</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a455ccfb06e546f341dc320c19828896e"><div class="ttname"><a href="classwx_app_bar.html#a455ccfb06e546f341dc320c19828896e">wxAppBar::m_taskbarList</a></div><div class="ttdeci">ITaskbarList * m_taskbarList</div><div class="ttdoc">Windows's taskbar list interface.</div><div class="ttdef"><b>Definition:</b> appbar.h:291</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a4e7b1019bff7b513fef79d3b1328e377"><div class="ttname"><a href="classwx_app_bar.html#a4e7b1019bff7b513fef79d3b1328e377">wxAppBar::MaximiseFromEdge</a></div><div class="ttdeci">void MaximiseFromEdge(wxWindow *wnd)</div><div class="ttdoc">Restore application bar from the edge of the desktop.</div><div class="ttdef"><b>Definition:</b> appbar.h:869</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a50f6ac6aebf9e462145c0af70d3cbcef"><div class="ttname"><a href="classwx_app_bar.html#a50f6ac6aebf9e462145c0af70d3cbcef">wxAppBar::m_stateTaskBar</a></div><div class="ttdeci">UINT_PTR m_stateTaskBar</div><div class="ttdoc">TaskBar's current state.</div><div class="ttdef"><b>Definition:</b> appbar.h:288</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a521931479c266038782c368daca9acc9"><div class="ttname"><a href="classwx_app_bar.html#a521931479c266038782c368daca9acc9">wxAppBar::~wxAppBar</a></div><div class="ttdeci">virtual ~wxAppBar()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> appbar.h:523</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a63dab2382ef1642156e633fd56172de0"><div class="ttname"><a href="classwx_app_bar.html#a63dab2382ef1642156e633fd56172de0">wxAppBar::OnWindowsArrange</a></div><div class="ttdeci">virtual void OnWindowsArrange(bool beginning)</div><div class="ttdoc">Notification handler when desktop windows are being arranged (cascaded, tiled, ......</div><div class="ttdef"><b>Definition:</b> appbar.h:1031</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a679ca2856889f23ea3373bfa6e41e831"><div class="ttname"><a href="classwx_app_bar.html#a679ca2856889f23ea3373bfa6e41e831">wxAppBar::wxAppBar</a></div><div class="ttdeci">wxAppBar()</div><div class="ttdoc">Creates new application bar.</div><div class="ttdef"><b>Definition:</b> appbar.h:505</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a6c5fba27197133ba1247816a7b8abac9"><div class="ttname"><a href="classwx_app_bar.html#a6c5fba27197133ba1247816a7b8abac9">wxAppBar::m_sizeFloat</a></div><div class="ttdeci">SIZE m_sizeFloat</div><div class="ttdoc">Window size when floating (we need it to restore floating size, when we undock)</div><div class="ttdef"><b>Definition:</b> appbar.h:284</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a7de8d3fef326880f83aa63ca07c3a7f3"><div class="ttname"><a href="classwx_app_bar.html#a7de8d3fef326880f83aa63ca07c3a7f3">wxAppBar::m_flags</a></div><div class="ttdeci">int m_flags</div><div class="ttdoc">Flags describing application bar's behaviour.</div><div class="ttdef"><b>Definition:</b> appbar.h:282</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a7f86c392151d776d5cf6a3dfffcc233c"><div class="ttname"><a href="classwx_app_bar.html#a7f86c392151d776d5cf6a3dfffcc233c">wxAppBar::MaximiseFromEdge</a></div><div class="ttdeci">void MaximiseFromEdge(const RECT *rect=NULL)</div><div class="ttdoc">Restore application bar from the edge of the desktop.</div><div class="ttdef"><b>Definition:</b> appbar.h:826</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a808e8d6fed0fda0f17f423fdce48fa91"><div class="ttname"><a href="classwx_app_bar.html#a808e8d6fed0fda0f17f423fdce48fa91">wxAppBar::MinimiseToEdge</a></div><div class="ttdeci">void MinimiseToEdge(wxAppBarState edge, wxWindow *wnd=NULL)</div><div class="ttdoc">Minimize application bar to the edge of the desktop.</div><div class="ttdef"><b>Definition:</b> appbar.h:763</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a8b7f72142e0240b4b33bebdc6d19b361"><div class="ttname"><a href="classwx_app_bar.html#a8b7f72142e0240b4b33bebdc6d19b361">wxAppBar::GetAllowSizing</a></div><div class="ttdeci">bool GetAllowSizing() const</div><div class="ttdoc">Returns if sizing of the application bar is allowed.</div><div class="ttdef"><b>Definition:</b> appbar.h:659</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a8e7a125895744ca83db85cebf2c18775"><div class="ttname"><a href="classwx_app_bar.html#a8e7a125895744ca83db85cebf2c18775">wxAppBar::HideAutoHideAppBar</a></div><div class="ttdeci">void HideAutoHideAppBar()</div><div class="ttdoc">Hides auto-hide application bar.</div><div class="ttdef"><b>Definition:</b> appbar.h:220</div></div>
<div class="ttc" id="aclasswx_app_bar_html_a96a0e58d3c64712e0a93dcd80414d3fa"><div class="ttname"><a href="classwx_app_bar.html#a96a0e58d3c64712e0a93dcd80414d3fa">wxAppBar::m_state</a></div><div class="ttdeci">wxAppBarState m_state</div><div class="ttdoc">Current state of the application bar.</div><div class="ttdef"><b>Definition:</b> appbar.h:280</div></div>
<div class="ttc" id="aclasswx_app_bar_html_abdbcdafcaf2331734313b2276c6bc640"><div class="ttname"><a href="classwx_app_bar.html#abdbcdafcaf2331734313b2276c6bc640">wxAppBar::SetAutoHide</a></div><div class="ttdeci">bool SetAutoHide(bool autoHide=true)</div><div class="ttdoc">Sets whether application bar is displayed always on top.</div><div class="ttdef"><b>Definition:</b> appbar.h:625</div></div>
<div class="ttc" id="aclasswx_app_bar_html_ac1a5b59877322c86a33b2ea12a126d6f"><div class="ttname"><a href="classwx_app_bar.html#ac1a5b59877322c86a33b2ea12a126d6f">wxAppBar::OnAutoHideDenied</a></div><div class="ttdeci">virtual void OnAutoHideDenied()</div><div class="ttdoc">Called when application bar was forced from auto-hide to normal docking.</div><div class="ttdef"><b>Definition:</b> appbar.h:1037</div></div>
<div class="ttc" id="aclasswx_app_bar_html_ac59056e7fd5f0dd50082f87b19f987f6"><div class="ttname"><a href="classwx_app_bar.html#ac59056e7fd5f0dd50082f87b19f987f6">wxAppBar::m_sizeMin</a></div><div class="ttdeci">SIZE m_sizeMin</div><div class="ttdoc">Minimum window size.</div><div class="ttdef"><b>Definition:</b> appbar.h:286</div></div>
<div class="ttc" id="aclasswx_app_bar_html_ac6e7cac049c1394f9dcedfd3d554c078"><div class="ttname"><a href="classwx_app_bar.html#ac6e7cac049c1394f9dcedfd3d554c078">wxAppBar::m_stateDesired</a></div><div class="ttdeci">wxAppBarState m_stateDesired</div><div class="ttdoc">Desired state of the application bar while moving/resizing.</div><div class="ttdef"><b>Definition:</b> appbar.h:281</div></div>
<div class="ttc" id="aclasswx_app_bar_html_ac75f7994f00fc8e4938f2b0faf3dd6d6"><div class="ttname"><a href="classwx_app_bar.html#ac75f7994f00fc8e4938f2b0faf3dd6d6">wxAppBar::SetAllowSizing</a></div><div class="ttdeci">bool SetAllowSizing(bool allow=true)</div><div class="ttdoc">Sets whether resizing of the application bar is allowed.</div><div class="ttdef"><b>Definition:</b> appbar.h:666</div></div>
<div class="ttc" id="aclasswx_app_bar_html_aca33c43e6370549d922000ead6814955"><div class="ttname"><a href="classwx_app_bar.html#aca33c43e6370549d922000ead6814955">wxAppBar::m_sizeDocked</a></div><div class="ttdeci">SIZE m_sizeDocked</div><div class="ttdoc">Size of the window when docked (height when wxAppBarState::TOP or wxAppBarState::BOTTOM,...</div><div class="ttdef"><b>Definition:</b> appbar.h:285</div></div>
<div class="ttc" id="aclasswx_app_bar_html_ad5ffb287a3823720f271607f4d6aa07d"><div class="ttname"><a href="classwx_app_bar.html#ad5ffb287a3823720f271607f4d6aa07d">wxAppBar::OnChangeState</a></div><div class="ttdeci">virtual void OnChangeState(wxAppBarState stateNew)</div><div class="ttdoc">Notification handler when the new state of the application bar is proposed.</div><div class="ttdef"><b>Definition:</b> appbar.h:972</div></div>
<div class="ttc" id="aclasswx_app_bar_html_ae5a7f89951072e7f5611d3fc1e264ade"><div class="ttname"><a href="classwx_app_bar.html#ae5a7f89951072e7f5611d3fc1e264ade">wxAppBar::OnChangeTaskBarState</a></div><div class="ttdeci">virtual void OnChangeTaskBarState(UINT_PTR state)</div><div class="ttdoc">Notification handler when the Windows' taskbar state changes.</div><div class="ttdef"><b>Definition:</b> appbar.h:1006</div></div>
<div class="ttc" id="aclasswx_app_bar_html_ae80d0867b83e54c429771e403cd9519a"><div class="ttname"><a href="classwx_app_bar.html#ae80d0867b83e54c429771e403cd9519a">wxAppBar::SetAlwaysOnTop</a></div><div class="ttdeci">bool SetAlwaysOnTop(bool alwaysOnTop=true)</div><div class="ttdoc">Sets whether application bar is displayed always on top.</div><div class="ttdef"><b>Definition:</b> appbar.h:601</div></div>
<div class="ttc" id="aclasswx_app_bar_html_aebe0b7c841cf979c9612f528be878b95"><div class="ttname"><a href="classwx_app_bar.html#aebe0b7c841cf979c9612f528be878b95">wxAppBar::GetAutoHidden</a></div><div class="ttdeci">bool GetAutoHidden() const</div><div class="ttdoc">Returns if application bar is auto-hidden right now.</div><div class="ttdef"><b>Definition:</b> appbar.h:678</div></div>
<div class="ttc" id="aclasswx_app_bar_html_afcff0806eb953c6693e570b3f1eeafae"><div class="ttname"><a href="classwx_app_bar.html#afcff0806eb953c6693e570b3f1eeafae">wxAppBar::ShowAutoHideAppBar</a></div><div class="ttdeci">void ShowAutoHideAppBar(bool show=true)</div><div class="ttdoc">Shows or hides auto-hide application bar.</div><div class="ttdef"><b>Definition:</b> appbar.h:899</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga015a42693a150e97fb55cf65355858fd"><div class="ttname"><a href="group__wx_extend.html#ga015a42693a150e97fb55cf65355858fd">wxAppBarGetZWnd</a></div><div class="ttdeci">WXHWND wxAppBarGetZWnd(wxAppBarState state, int flags)</div><div class="ttdoc">Returns the window above which to Z-order the application bar.</div><div class="ttdef"><b>Definition:</b> appbar.h:437</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga01ff72cdb36f317323b5b085ee7c3b46"><div class="ttname"><a href="group__wx_extend.html#ga01ff72cdb36f317323b5b085ee7c3b46">wxABF_ALLOWDOCKLEFT</a></div><div class="ttdeci">#define wxABF_ALLOWDOCKLEFT</div><div class="ttdoc">Is docking left of the screen allowed?</div><div class="ttdef"><b>Definition:</b> appbar.h:74</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga05a18a821590aaed11fe1e779b32b8f0"><div class="ttname"><a href="group__wx_extend.html#ga05a18a821590aaed11fe1e779b32b8f0">wxABT_AUTOHIDETIME</a></div><div class="ttdeci">#define wxABT_AUTOHIDETIME</div><div class="ttdoc">Application bar auto-hide timer timeout.</div><div class="ttdef"><b>Definition:</b> appbar.h:36</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga09dfc3ab0c3551061d85c9ce98815b56"><div class="ttname"><a href="group__wx_extend.html#ga09dfc3ab0c3551061d85c9ce98815b56">wxABF_FULLSCREENAPPOPEN</a></div><div class="ttdeci">#define wxABF_FULLSCREENAPPOPEN</div><div class="ttdoc">Is full-screen application open?</div><div class="ttdef"><b>Definition:</b> appbar.h:94</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga24d7244fd3b59ee6c2bf84ec4b5a443e"><div class="ttname"><a href="group__wx_extend.html#ga24d7244fd3b59ee6c2bf84ec4b5a443e">wxAppBarGetTaskBarState</a></div><div class="ttdeci">UINT_PTR wxAppBarGetTaskBarState()</div><div class="ttdoc">Returns the current taskbar state.</div><div class="ttdef"><b>Definition:</b> appbar.h:491</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga28549a910dbd9c7222691b22f7aee628"><div class="ttname"><a href="group__wx_extend.html#ga28549a910dbd9c7222691b22f7aee628">WM_AB_NOTIFY</a></div><div class="ttdeci">#define WM_AB_NOTIFY</div><div class="ttdoc">Posted to notify application bar about system changes.</div><div class="ttdef"><b>Definition:</b> appbar.h:52</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga33015805cefd09b3899d7b5667f6c0eb"><div class="ttname"><a href="group__wx_extend.html#ga33015805cefd09b3899d7b5667f6c0eb">wxGetDoWndAnimation</a></div><div class="ttdeci">bool wxGetDoWndAnimation()</div><div class="ttdoc">Returns whether windows animation is enabled.</div><div class="ttdef"><b>Definition:</b> common.h:95</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga35adecc26a1a7e1a88f27bce2b220e3f"><div class="ttname"><a href="group__wx_extend.html#ga35adecc26a1a7e1a88f27bce2b220e3f">wxABT_AUTOHIDETIMERID</a></div><div class="ttdeci">#define wxABT_AUTOHIDETIMERID</div><div class="ttdoc">Application bar auto-hide timer ID.</div><div class="ttdef"><b>Definition:</b> appbar.h:31</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga374a172ec398df3a3b59514ae9c17fec"><div class="ttname"><a href="group__wx_extend.html#ga374a172ec398df3a3b59514ae9c17fec">wxABF_ALLOWSIZING</a></div><div class="ttdeci">#define wxABF_ALLOWSIZING</div><div class="ttdoc">Is application bar's sizing allowed?</div><div class="ttdef"><b>Definition:</b> appbar.h:87</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga3ac6f7a930800c924b98669345501a0e"><div class="ttname"><a href="group__wx_extend.html#ga3ac6f7a930800c924b98669345501a0e">wxABF_ALLOWDOCKTOP</a></div><div class="ttdeci">#define wxABF_ALLOWDOCKTOP</div><div class="ttdoc">Is docking on top of the screen allowed?</div><div class="ttdef"><b>Definition:</b> appbar.h:72</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga3c3596fce55a2bb3472332e51eb88c77"><div class="ttname"><a href="group__wx_extend.html#ga3c3596fce55a2bb3472332e51eb88c77">wxABF_HIDETASKBARTABWHENFLOATING</a></div><div class="ttdeci">#define wxABF_HIDETASKBARTABWHENFLOATING</div><div class="ttdoc">Should application bar's tab on the system taskbar hide when floating?</div><div class="ttdef"><b>Definition:</b> appbar.h:89</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga46d6172160c331b0265dd632e822a84f"><div class="ttname"><a href="group__wx_extend.html#ga46d6172160c331b0265dd632e822a84f">wxABF_ALLOWDOCKBOTTOM</a></div><div class="ttdeci">#define wxABF_ALLOWDOCKBOTTOM</div><div class="ttdoc">Is docking on bottom of the screen allowed?</div><div class="ttdef"><b>Definition:</b> appbar.h:73</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga4cb5f472abff1c4eb2682ac19ee21e01"><div class="ttname"><a href="group__wx_extend.html#ga4cb5f472abff1c4eb2682ac19ee21e01">wxAppBarIsDocked</a></div><div class="ttdeci">bool wxAppBarIsDocked(wxAppBarState state)</div><div class="ttdoc">Returns if the application bar state represents docked state.</div><div class="ttdef"><b>Definition:</b> appbar.h:392</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga58084b8e1a8e2e27bcf5e5df387f9601"><div class="ttname"><a href="group__wx_extend.html#ga58084b8e1a8e2e27bcf5e5df387f9601">wxModifyStyleEx</a></div><div class="ttdeci">bool wxModifyStyleEx(WXHWND hWnd, DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)</div><div class="ttdoc">Modifies window extended style.</div><div class="ttdef"><b>Definition:</b> common.h:115</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga624ae3515d39396935a077c6cc0a4d64"><div class="ttname"><a href="group__wx_extend.html#ga624ae3515d39396935a077c6cc0a4d64">WXEXTEND_API</a></div><div class="ttdeci">#define WXEXTEND_API</div><div class="ttdoc">Public function calling convention.</div><div class="ttdef"><b>Definition:</b> common.h:56</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga734516e6fc45702ae4623703f7d32fb9"><div class="ttname"><a href="group__wx_extend.html#ga734516e6fc45702ae4623703f7d32fb9">wxABT_AUTOHIDETIMERINTERVAL</a></div><div class="ttdeci">#define wxABT_AUTOHIDETIMERINTERVAL</div><div class="ttdoc">Application bar auto-hide timer interval.</div><div class="ttdef"><b>Definition:</b> appbar.h:41</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga73648c67f839edae65a374b713e6fd08"><div class="ttname"><a href="group__wx_extend.html#ga73648c67f839edae65a374b713e6fd08">wxABF_AUTOHIDE</a></div><div class="ttdeci">#define wxABF_AUTOHIDE</div><div class="ttdoc">Is application bar setup for auto-hide?</div><div class="ttdef"><b>Definition:</b> appbar.h:84</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga786c97a26fa8d963b0d5d90f6bce2a4a"><div class="ttname"><a href="group__wx_extend.html#ga786c97a26fa8d963b0d5d90f6bce2a4a">wxAppBarIsDockedHoriz</a></div><div class="ttdeci">bool wxAppBarIsDockedHoriz(wxAppBarState state)</div><div class="ttdoc">Returns if the application bar state represents horizontally docked state.</div><div class="ttdef"><b>Definition:</b> appbar.h:422</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga8b5409e774169b35811b8cbe6d7279e7"><div class="ttname"><a href="group__wx_extend.html#ga8b5409e774169b35811b8cbe6d7279e7">wxABF_ALLOWDOCKANY</a></div><div class="ttdeci">#define wxABF_ALLOWDOCKANY</div><div class="ttdoc">Is docking at any edge of the screen allowed?</div><div class="ttdef"><b>Definition:</b> appbar.h:76</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga974924b2902609bab0aff74975488100"><div class="ttname"><a href="group__wx_extend.html#ga974924b2902609bab0aff74975488100">wxABF_AUTOHIDDEN</a></div><div class="ttdeci">#define wxABF_AUTOHIDDEN</div><div class="ttdoc">Is application bar auto-hidden right now?</div><div class="ttdef"><b>Definition:</b> appbar.h:95</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga9d340d497cefc10a3ad2a8885f716c16"><div class="ttname"><a href="group__wx_extend.html#ga9d340d497cefc10a3ad2a8885f716c16">wxABF_HIDETASKBARTABWHENDOCKED</a></div><div class="ttdeci">#define wxABF_HIDETASKBARTABWHENDOCKED</div><div class="ttdoc">Should application bar's tab on the system taskbar hide when docked?</div><div class="ttdef"><b>Definition:</b> appbar.h:90</div></div>
<div class="ttc" id="agroup__wx_extend_html_gaaf93b901e974b0cd4438b69170175ca2"><div class="ttname"><a href="group__wx_extend.html#gaaf93b901e974b0cd4438b69170175ca2">wxABF_ALLOWFLOAT</a></div><div class="ttdeci">#define wxABF_ALLOWFLOAT</div><div class="ttdoc">Dockable application bar flags.</div><div class="ttdef"><b>Definition:</b> appbar.h:71</div></div>
<div class="ttc" id="agroup__wx_extend_html_gac4c88cf9104926e6b97159eeb8c1fc46"><div class="ttname"><a href="group__wx_extend.html#gac4c88cf9104926e6b97159eeb8c1fc46">wxABF_ALLOWDOCKRIGHT</a></div><div class="ttdeci">#define wxABF_ALLOWDOCKRIGHT</div><div class="ttdoc">Is docking right of the screen allowed?</div><div class="ttdef"><b>Definition:</b> appbar.h:75</div></div>
<div class="ttc" id="agroup__wx_extend_html_gac61c13faaa3315da305dff70922f718f"><div class="ttname"><a href="group__wx_extend.html#gac61c13faaa3315da305dff70922f718f">wxABF_ALWAYSONTOP</a></div><div class="ttdeci">#define wxABF_ALWAYSONTOP</div><div class="ttdoc">Is application bar always on top?</div><div class="ttdef"><b>Definition:</b> appbar.h:81</div></div>
<div class="ttc" id="agroup__wx_extend_html_gacab6afd4179e836abf89f1a500879f5c"><div class="ttname"><a href="group__wx_extend.html#gacab6afd4179e836abf89f1a500879f5c">wxAppBarState</a></div><div class="ttdeci">wxAppBarState</div><div class="ttdoc">Dockable application bar states.</div><div class="ttdef"><b>Definition:</b> appbar.h:58</div></div>
<div class="ttc" id="agroup__wx_extend_html_gacf6e1af88190be67e1535fe939df194d"><div class="ttname"><a href="group__wx_extend.html#gacf6e1af88190be67e1535fe939df194d">wxAppBarIsDockedVert</a></div><div class="ttdeci">bool wxAppBarIsDockedVert(wxAppBarState state)</div><div class="ttdoc">Returns if the application bar state represents vertically docked state.</div><div class="ttdef"><b>Definition:</b> appbar.h:407</div></div>
<div class="ttc" id="agroup__wx_extend_html_gad1a25b75ef14d5ef36d4a21b4f7d2ba3"><div class="ttname"><a href="group__wx_extend.html#gad1a25b75ef14d5ef36d4a21b4f7d2ba3">wxABF_ALWAYSONTOPTASKBAR</a></div><div class="ttdeci">#define wxABF_ALWAYSONTOPTASKBAR</div><div class="ttdoc">Does application bar follow always on top state of the system taskbar?</div><div class="ttdef"><b>Definition:</b> appbar.h:82</div></div>
<div class="ttc" id="agroup__wx_extend_html_gad8b37e21b4abf5fa854eb8524161e972"><div class="ttname"><a href="group__wx_extend.html#gad8b37e21b4abf5fa854eb8524161e972">wxVERIFY</a></div><div class="ttdeci">#define wxVERIFY(cond)</div><div class="ttdoc">Test if condition is true. When not true, raise debug assertion with the given message.</div><div class="ttdef"><b>Definition:</b> common.h:84</div></div>
<div class="ttc" id="agroup__wx_extend_html_gadd878bfddfe707961941a0fa09f1adcd"><div class="ttname"><a href="group__wx_extend.html#gadd878bfddfe707961941a0fa09f1adcd">wxABF_AUTOHIDETASKBAR</a></div><div class="ttdeci">#define wxABF_AUTOHIDETASKBAR</div><div class="ttdoc">Does application bar follow auto-hide state of the system taskbar?</div><div class="ttdef"><b>Definition:</b> appbar.h:85</div></div>
<div class="ttc" id="agroup__wx_extend_html_gaeea26e3d219f41ba21f5ac0328887b42"><div class="ttname"><a href="group__wx_extend.html#gaeea26e3d219f41ba21f5ac0328887b42">wxABF_ALLOWANY</a></div><div class="ttdeci">#define wxABF_ALLOWANY</div><div class="ttdoc">Is floating and docking at any edge of the screen allowed?</div><div class="ttdef"><b>Definition:</b> appbar.h:79</div></div>
<div class="ttc" id="agroup__wx_extend_html_ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b"><div class="ttname"><a href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca1fabf63de5c96c78e2a40805bcdeb73b">wxAppBarState::BOTTOM</a></div><div class="ttdeci">@ BOTTOM</div><div class="ttdoc">Application bar is docked at the bottom edge of the desktop.</div></div>
<div class="ttc" id="agroup__wx_extend_html_ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403"><div class="ttname"><a href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca21507b40c80068eda19865706fdc2403">wxAppBarState::RIGHT</a></div><div class="ttdeci">@ RIGHT</div><div class="ttdoc">Application bar is docked at the right edge of the desktop.</div></div>
<div class="ttc" id="agroup__wx_extend_html_ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63"><div class="ttname"><a href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca6705777b712ee811e76fb07162081d63">wxAppBarState::TOP</a></div><div class="ttdeci">@ TOP</div><div class="ttdoc">Application bar is docked at the top edge of the desktop.</div></div>
<div class="ttc" id="agroup__wx_extend_html_ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758"><div class="ttname"><a href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5ca684d325a7303f52e64011467ff5c5758">wxAppBarState::LEFT</a></div><div class="ttdeci">@ LEFT</div><div class="ttdoc">Application bar is docked at the left edge of the desktop.</div></div>
<div class="ttc" id="agroup__wx_extend_html_ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="group__wx_extend.html#ggacab6afd4179e836abf89f1a500879f5cae738c26bf4ce1037fa81b039a915cbf6">wxAppBarState::FLOAT</a></div><div class="ttdeci">@ FLOAT</div><div class="ttdoc">Application bar is floating on the desktop (normal window)</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Feb 17 2022 13:05:57 for wxExtend by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>