1 Star 4 Fork 2

cbwang505 / win32k

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
a00095_source.html 154.86 KB
一键复制 编辑 原始数据 按行查看 历史
cbwang505 提交于 2020-01-04 20:32 . init
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Win32k: dlgbegin.c 源文件</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Win32k
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','搜索');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00095_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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 class="header">
<div class="headertitle">
<div class="title">dlgbegin.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00095.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a03620.html">precomp.h</a>&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#pragma hdrstop</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;BOOL <a class="code" href="a00095.html#a2f9d0ab1da92cb7b6167b4b5d1dbd70a">ValidateCallback</a>(HANDLE h);</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="a00095.html#a6e7b077bea590abecbf03bbdcc500682"> 17</a></span>&#160;LPCWSTR <a class="code" href="a00095.html#a6e7b077bea590abecbf03bbdcc500682">szEDITCLASS</a> = TEXT(<span class="stringliteral">&quot;Edit&quot;</span>);</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="a00095.html#aaa84fae071faad02e6ac0cc388ae2ed6"> 25</a></span>&#160;PBYTE <a class="code" href="a00095.html#aaa84fae071faad02e6ac0cc388ae2ed6">SkipSz</a>(</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; UTCHAR *lpsz)</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;{</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordflow">if</span> (*lpsz == 0xFF)</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">return</span> (PBYTE)lpsz + 4;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">while</span> (*lpsz++ != 0) ;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">return</span> (PBYTE)lpsz;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;}</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="a00095.html#a4c54a84b86654ecfe88c75110a8d2692"> 36</a></span>&#160;PBYTE <a class="code" href="a00095.html#a4c54a84b86654ecfe88c75110a8d2692">WordSkipSz</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; UTCHAR *lpsz)</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; PBYTE pb = <a class="code" href="a00095.html#aaa84fae071faad02e6ac0cc388ae2ed6">SkipSz</a>(lpsz);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> NextWordBoundary(pb);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;}</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="a00095.html#a354d0b10d14d160ef0992050ee5d9a3a"> 43</a></span>&#160;PBYTE <a class="code" href="a00095.html#a354d0b10d14d160ef0992050ee5d9a3a">DWordSkipSz</a>(</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; UTCHAR *lpsz)</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; PBYTE pb = <a class="code" href="a00095.html#aaa84fae071faad02e6ac0cc388ae2ed6">SkipSz</a>(lpsz);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> NextDWordBoundary(pb);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="a00095.html#a5806455e7922193d303a2f360562cb2f"> 59</a></span>&#160;HFONT <a class="code" href="a00095.html#a5806455e7922193d303a2f360562cb2f">CreateDlgFont</a>(HDC hdcDlg, LPWORD FAR *lplpstr, LPDLGTEMPLATE2 lpdt)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; LOGFONT LogFont;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">int</span> fontheight, fheight;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; HFONT hOldFont, hFont;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; WCHAR szTempBuffer[20];</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; LPCWSTR lpStrSubst;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; TEXTMETRIC tm;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; BOOL fDeleteFont = FALSE;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; fheight = fontheight = (SHORT)(*((WORD *) *lplpstr)++);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (fontheight == 0x7FFF) {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// a 0x7FFF height is our special code meaning use the message box font</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment">// return(gpsi-&gt;hMsgFont);</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; GetObject(<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#aaba01905c90baa2f27ba6869e4ddad45">hMsgFont</a>, <span class="keyword">sizeof</span>(LOGFONT), &amp;LogFont);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span>(CreateFontIndirect(&amp;LogFont));</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// The dialog template contains a font description! Use it.</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// Fill the LogFont with default values</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; RtlZeroMemory(&amp;LogFont, <span class="keyword">sizeof</span>(LOGFONT));</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; fontheight = -MultDiv(fontheight, oemInfo.cyPixelsPerInch, 72);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; LogFont.lfHeight = fontheight;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (lpdt-&gt;wDlgVer)</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; LogFont.lfWeight = *((WORD FAR *) *lplpstr)++;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; LogFont.lfItalic = *((BYTE FAR *) *lplpstr)++;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; LogFont.lfCharSet = *((BYTE FAR *) *lplpstr)++;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; LogFont.lfWeight = FW_BOLD;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; LogFont.lfCharSet = DEFAULT_CHARSET;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span> (LogFont.lfCharSet == DEFAULT_CHARSET)</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; LogFont.lfCharSet = GetTextCharset(hdcDlg); <span class="comment">// Assume shell charset.</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (lpdt-&gt;style &amp; DS_3DLOOK)</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; LogFont.lfWeight = FW_NORMAL;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; lpStrSubst = *lplpstr;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="a00365.html#a2313d9960d832da75d595b73ff75d1dc">wcsncpycch</a>(LogFont.lfFaceName, lpStrSubst, <span class="keyword">sizeof</span>(LogFont.lfFaceName) / <span class="keyword">sizeof</span>(WCHAR));</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; *lplpstr = (WORD *)<a class="code" href="a00095.html#a354d0b10d14d160ef0992050ee5d9a3a">DWordSkipSz</a>(*lplpstr);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span> (!(hFont = CreateFontIndirect((LPLOGFONT) &amp;LogFont)))</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span>(NULL);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span> (!(hOldFont = SelectFont(hdcDlg, hFont)))</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">goto</span> deleteFont;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span> (!GetTextMetrics(hdcDlg, &amp;tm)) {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;CreateDlgFont: GetTextMetrics failed&quot;</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">goto</span> deleteFont;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; GetTextFace(hdcDlg, <span class="keyword">sizeof</span>(szTempBuffer)/<span class="keyword">sizeof</span>(WCHAR), szTempBuffer);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">// If this is a low res device, we need to check if the</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">// font we&#39;re creating is smaller than the system font.</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// If so, just use the system font.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span> (_wcsicmp(szTempBuffer, lpStrSubst) ||</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; ((SYSMET(CXICON) &lt; 32 || SYSMET(CYICON) &lt; 32) &amp;&amp; (tm.tmHeight &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#a481a03e7eb24994f1eca28391f9b7c77">cySysFontChar</a>)))</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// Couldn&#39;t find a font with the height or facename</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="comment">// the app wanted so use the system font instead. Note</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// that we need to make sure the app knows it is</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="comment">// getting the system font via the WM_SETFONT message</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// so we still need to act as if a new font is being</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="comment">// sent to the dialog box.</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;deleteFont:</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; fDeleteFont = TRUE;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (hOldFont != NULL) {</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; SelectFont(hdcDlg, hOldFont);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span> (fDeleteFont) {</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; DeleteFont(hFont);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; hFont = NULL;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span>(hFont);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="a00095.html#afeeef8812a58cc729206c048999e4c32"> 156</a></span>&#160;<span class="preprocessor">#define CD_VISIBLE 0x01</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="a00095.html#adab312d41ef801372d56ac3d604ac5a5"> 157</a></span>&#160;<span class="preprocessor">#define CD_GLOBALEDIT 0x02</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="a00095.html#acc54a184a44db7a191bcdb76e9be7378"> 158</a></span>&#160;<span class="preprocessor">#define CD_USERFONT 0x04</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="a00095.html#ad5116f3de8743d15dd3fcf62ed5af978"> 159</a></span>&#160;<span class="preprocessor">#define CD_SETFOREGROUND 0x08</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="a00095.html#a11626750550ca57ea5dc71e4bce3b8df"> 160</a></span>&#160;<span class="preprocessor">#define CD_USEDEFAULTX 0x10</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="a00095.html#a6e5e178ea0f7449616f8a163858729bc"> 161</a></span>&#160;<span class="preprocessor">#define CD_USEDEFAULTCX 0x20</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="a00257.html#a0cc72dc6da62e4480401d8db675fb5d5"> 176</a></span>&#160;HWND <a class="code" href="a00095.html#abbb7186e7025996fee1d72fabd41ea38">InternalCreateDialog</a>(</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; HANDLE hmod,</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; LPDLGTEMPLATE lpdt,</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> cb,</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; HWND hwndOwner,</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; DLGPROC lpfnDialog,</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; LONG lParam,</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> fSCDLGFlags)</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;{</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="a01881.html">TL</a> tlpwnd;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; HWND hwnd;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; HWND hwnd2;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; HWND hwndNewFocus;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; HWND hwndEditFirst = NULL;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; RECT rc;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; WORD w;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; UTCHAR *lpszMenu, *lpszClass, *lpszText, *lpCreateParams, *lpStr;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordtype">int</span> cxChar, cyChar;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; BOOL f40Compat;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; HFONT hNewFont = NULL;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; HFONT hOldFont;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; LPDLGITEMTEMPLATE lpdit;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; HMENU hMenu;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; BOOL fSuccess;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; BOOL fWowWindow;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; HANDLE hmodCreate;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; LPBYTE lpCreateParamsData;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; DLGTEMPLATE2 dt;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; DLGITEMTEMPLATE2 dit;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwExpWinVer;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dsStyleOld;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> bFlags = 0;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; HDC hdcDlg;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="a02449.html">LARGE_STRING</a> strClassName;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="a02449.html">PLARGE_STRING</a> pstrClassName;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="a02449.html">LARGE_STRING</a> strWindowName;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; ConnectIfNecessary();</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; </div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(!(fSCDLGFlags &amp; ~(SCDLG_CLIENT|SCDLG_ANSI|SCDLG_NOREVALIDATE|SCDLG_16BIT))); <span class="comment">// These are the only valid flags</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> * Is this a Win4 extended dialog?</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (((LPDLGTEMPLATE2)lpdt)-&gt;wSignature == 0xffff) {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(((LPDLGTEMPLATE2)lpdt)-&gt;wDlgVer == 1);</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; RtlCopyMemory(&amp;dt, lpdt, <span class="keyword">sizeof</span> dt);</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; dt.wDlgVer = 0;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; dt.wSignature = 0;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; dt.dwHelpID = 0;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; dt.dwExStyle = lpdt-&gt;dwExtendedStyle;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; dt.style = lpdt-&gt;style;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; dt.cDlgItems = lpdt-&gt;cdit;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; dt.x = lpdt-&gt;x;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; dt.y = lpdt-&gt;y;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; dt.cx = lpdt-&gt;cx;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; dt.cy = lpdt-&gt;cy;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"> * If this is called from wow code, then the loword of hmod != 0.</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"> * In this case, allow any DS_ style bits that were passed in win3.1</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment"> * to be legal in win32. Case in point: 16 bit quark xpress passes the</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment"> * same bit as the win32 style DS_SETFOREGROUND. Also, VC++ sample</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"> * &quot;scribble&quot; does the same thing.</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"> * For win32 apps test the DS_SETFOREGROUND bit; wow apps are not set</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"> * foreground (this is the new NT semantics)</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> * We have to let no &quot;valid&quot; bits through because apps depend on them</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> * bug 5232.</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; dsStyleOld = LOWORD(dt.style);</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; </div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="comment"> * If the app is Win4 or greater, require correct dialog style bits.</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> * Prevents conflicts with new bits introduced in Chicago</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; dwExpWinVer = GETEXPWINVER(hmod);</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">if</span> ( f40Compat = Is400Compat(dwExpWinVer) ) {</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; dt.style &amp;= (DS_VALID40 | 0xffff0000);</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="comment">// For old applications:</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="comment">// If DS_COMMONDIALOG isn&#39;t set, don&#39;t touch DS_3DLOOK style</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">// bit. If it&#39;s there, it stays there. If not, not. That way old</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// apps which pass in their own templates, not commdlg&#39;s, don&#39;t get</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="comment">// forced 3D.</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">// If DS_COMMONDIALOG is there, remove DS_3DLOOK.</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="comment">// For new applications:</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="comment">// Force 3D always.</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">if</span> (GetAppVer(NULL) &lt; VER40) {</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">if</span> (dt.style &amp; DS_COMMONDIALOG) {</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; dt.style &amp;= ~DS_3DLOOK;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; dsStyleOld &amp;= ~DS_3DLOOK;</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; dt.style |= DS_3DLOOK;</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; dsStyleOld |= DS_3DLOOK;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="preprocessor">#ifdef DEBUG</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (dt.style != (dt.style &amp; (DS_VALID31 | DS_3DLOOK | 0xffff0000))) {</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;CreateDialog: stripping invalid bits %lX&quot;</span>, dt.style);</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="preprocessor">#endif // DEBUG</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; </div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment"> * Don&#39;t strip off bits for old apps, they depend on this. Especially 16 bit MFC apps!</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment"> * dt.dwStyle &amp;= (DS_VALID31 | 0xffff0000);</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; </div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">if</span> (LOWORD(hmod) == 0) {</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">if</span> (dt.style &amp; DS_SETFOREGROUND)</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; bFlags |= <a class="code" href="a00095.html#ad5116f3de8743d15dd3fcf62ed5af978">CD_SETFOREGROUND</a>;</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span> (dsStyleOld != LOWORD(dt.style))</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <a class="code" href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a>(f40Compat ? <a class="code" href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a> : <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>,</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="stringliteral">&quot;Bad dialog style bits (%x) - please remove.&quot;</span>,</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; LOWORD(dt.style));</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="comment">// Fail new apps that pass in bogus bits!</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; </div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">if</span> (f40Compat) {</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; </div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">if</span> ( dt.style &amp; DS_MODALFRAME)</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; dt.dwExStyle |= WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE;</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; </div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span> (( dt.style &amp; DS_CONTEXTHELP) &amp;&amp; f40Compat)</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; dt.dwExStyle |= WS_EX_CONTEXTHELP;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">if</span> (dt.style &amp; DS_CONTROL)</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="comment">// Captions and system menus aren&#39;t allowed on &quot;control&quot; dialogs.</span></div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">// And strip DS_SYSMODAL.</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; dt.style &amp;= ~(WS_CAPTION | WS_SYSMENU | DS_SYSMODAL);</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dt.style &amp; WS_DLGFRAME)</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="comment">// Add on window edge same way that CreateWindowEx() will</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; dt.dwExStyle |= WS_EX_WINDOWEDGE;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">if</span> (dt.style &amp; DS_SYSMODAL)</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; dt.dwExStyle |= WS_EX_TOPMOST;</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; </div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">if</span> (!(dt.style &amp; WS_CHILD) || (dt.style &amp; DS_CONTROL)) {</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="comment">// only a control parent if it&#39;s not a child dialog or if it&#39;s</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="comment">// explicitly marked as a recursive dialog</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; dt.dwExStyle |= WS_EX_CONTROLPARENT;</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; </div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (dt.x == CW_USEDEFAULT)</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; bFlags |= <a class="code" href="a00095.html#a11626750550ca57ea5dc71e4bce3b8df">CD_USEDEFAULTX</a>;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; dt.x = 0;</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; </div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">if</span> (dt.cx == CW_USEDEFAULT)</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; bFlags |= <a class="code" href="a00095.html#a6e5e178ea0f7449616f8a163858729bc">CD_USEDEFAULTCX</a>;</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; dt.cx = 0;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dt.cx &lt; 0)</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; dt.cx = 0;</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">if</span> (dt.cy &lt; 0)</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; dt.cy = 0;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; </div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// If there&#39;s a menu name string, load it.</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; lpszMenu = (LPWSTR)(((PBYTE)(lpdt)) + (dt.wDlgVer ? <span class="keyword">sizeof</span>(DLGTEMPLATE2):<span class="keyword">sizeof</span>(DLGTEMPLATE)));</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment"> * If the menu id is expressed as an ordinal and not a string,</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment"> * skip all 4 bytes to get to the class string.</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; w = *(LPWORD)lpszMenu;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; </div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="comment"> * If there&#39;s a menu name string, load it.</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span> (w != 0) {</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">if</span> ((hMenu = LoadMenu(hmod, (w == 0xFFFF) ?</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; MAKEINTRESOURCE(*(WORD *)((PBYTE)lpszMenu + 2)) : lpszMenu)) == NULL) {</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;ServerCreateDialog() failed: couldn&#39;t load menu&quot;</span>);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">goto</span> DeleteFontAndMenuAndFail;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; hMenu = NULL;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; </div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">if</span> (w == 0xFFFF)</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; lpszClass = (LPWSTR)((LPBYTE)lpszMenu + 4);</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; lpszClass = (UTCHAR *)<a class="code" href="a00095.html#a4c54a84b86654ecfe88c75110a8d2692">WordSkipSz</a>(lpszMenu);</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; </div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; </div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; lpszText = (UTCHAR *)<a class="code" href="a00095.html#a4c54a84b86654ecfe88c75110a8d2692">WordSkipSz</a>(lpszClass);</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; </div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; lpStr = (UTCHAR *)<a class="code" href="a00095.html#a4c54a84b86654ecfe88c75110a8d2692">WordSkipSz</a>(lpszText);</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; </div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; hdcDlg = CreateCompatibleDC(NULL);</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">if</span> (hdcDlg == NULL) <span class="keywordflow">goto</span> DeleteFontAndMenuAndFail;</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; </div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (dt.style &amp; DS_SETFONT) {</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; hNewFont = <a class="code" href="a00095.html#a5806455e7922193d303a2f360562cb2f">CreateDlgFont</a>(hdcDlg, &amp;lpStr, &amp;dt);</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; bFlags |= <a class="code" href="a00095.html#acc54a184a44db7a191bcdb76e9be7378">CD_USERFONT</a>;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; lpdit = (LPDLGITEMTEMPLATE) NextDWordBoundary(lpStr);</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Is400Compat(dwExpWinVer) &amp;&amp; (dt.style &amp; DS_FIXEDSYS)) {</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; </div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="comment">// B#2078 -- WISH for fixed width system font in dialog. We need</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">// to tell the dialog that it&#39;s using a font different from the</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="comment">// standard system font, so set CD_USERFONT bit.</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">// We need the 400 compat. check for CorelDraw, since they use</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="comment">// this style bit for their own purposes.</span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; hNewFont = GetStockObject(SYSTEM_FIXED_FONT);</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; bFlags |= <a class="code" href="a00095.html#acc54a184a44db7a191bcdb76e9be7378">CD_USERFONT</a>;</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; lpdit = (LPDLGITEMTEMPLATE)NextDWordBoundary(lpStr);</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; lpdit = (LPDLGITEMTEMPLATE)NextDWordBoundary(lpStr);</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; </div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="comment"> * If the application requested a particular font and for some</span></div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="comment"> * reason we couldn&#39;t find it, we just use the system font. BUT we</span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment"> * need to make sure we tell him he gets the system font. Dialogs</span></div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="comment"> * which never request a particular font get the system font and we</span></div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="comment"> * don&#39;t bother telling them this (via the WM_SETFONT message).</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; </div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">// Is it anything other than the default system font? If we can&#39;t get</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">// enough memory to select in the new font specified, just use the system</span></div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">// font.</span></div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">if</span> (hNewFont &amp;&amp; (hOldFont = SelectFont(hdcDlg, hNewFont)))</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; {</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="comment">// Get the ave character width and height to be used</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; cxChar = GdiGetCharDimensions(hdcDlg, NULL, &amp;cyChar);</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; </div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; SelectFont(hdcDlg, hOldFont);</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span> (cxChar == 0) {</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;InternalCreateDialog: GdiGetCharDimensions failed&quot;</span>);</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">goto</span> UseSysFontMetrics;</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; {</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">if</span> (hNewFont || (bFlags &amp; <a class="code" href="a00095.html#acc54a184a44db7a191bcdb76e9be7378">CD_USERFONT</a>))</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; hNewFont = <a class="code" href="a00020.html#ae142b9698e40ef094e7481d595ddc9ae">ghFontSys</a>;</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; </div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;UseSysFontMetrics:</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; cxChar = <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#a4bd4bf0c7aa2d88610b01f436ec2e82d">cxSysFontChar</a>;</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; cyChar = <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#a481a03e7eb24994f1eca28391f9b7c77">cySysFontChar</a>;</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; DeleteDC(hdcDlg);</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; </div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">if</span> (dt.style &amp; WS_VISIBLE)</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; bFlags |= <a class="code" href="a00095.html#afeeef8812a58cc729206c048999e4c32">CD_VISIBLE</a>;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; dt.style &amp;= ~WS_VISIBLE;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; </div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span> (!(dt.style &amp; DS_LOCALEDIT))</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; bFlags |= <a class="code" href="a00095.html#adab312d41ef801372d56ac3d604ac5a5">CD_GLOBALEDIT</a>;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; </div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="comment">/* Figure out dimensions of real window</span></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; rc.left = rc.top = 0;</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; rc.right = XPixFromXDU(dt.cx, cxChar);</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; rc.bottom = YPixFromYDU(dt.cy, cyChar);</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; </div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <a class="code" href="a00263.html#ae1ceb717793b21c250225fce6cb4619a">_AdjustWindowRectEx</a>(&amp;rc, dt.style, w, dt.dwExStyle);</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; </div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; dt.cx = (SHORT)(rc.right - rc.left);</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; dt.cy = (SHORT)(rc.bottom - rc.top);</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; </div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">if</span> ((dt.style &amp; DS_CENTERMOUSE) &amp;&amp; f40Compat) {</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">if</span> (!SYSMET(MOUSEPRESENT))</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">goto</span> CenterScreen;</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; </div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; *((LPPOINT)&amp;rc.left) = ptCursor;</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; rc.left -= (dt.cx / 2);</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; rc.top -= (dt.cy / 2);</div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((dt.style &amp; DS_CENTER) &amp;&amp; f40Compat) {</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;CenterScreen:</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; rc.left = (<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left + <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.right - dt.cx) / 2;;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; rc.top = (<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top + <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.bottom - dt.cy) / 2;</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; rc.left = rc.top = 0;</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; </div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">if</span> (!(dt.style &amp; DS_ABSALIGN) &amp;&amp; hwndOwner) {</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">if</span> ((HIWORD(dt.style) &amp; MaskWF(WFTYPEMASK)) != MaskWF(WFCHILD))</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <a class="code" href="a03743.html#a5068ed88d48ba583c1459eaa69ab6f8a">ClientToScreen</a>(hwndOwner, (LPPOINT)&amp;rc.left);</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; </div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; rc.left += MultDiv(dt.x, cxChar, 4);</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; rc.top += MultDiv(dt.y, cyChar, 8);</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; }</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; </div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; rc.right = rc.left + dt.cx;</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; rc.bottom = rc.top + dt.cy;</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; </div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="comment">// If the right or bottom coordinate has overflowed, then pin it back to</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="comment">// a valid rectangle. Likely to happen if a minimized window is the owner of</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="comment">// the dialog.</span></div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">if</span> (rc.left &gt; rc.right || rc.top &gt; rc.bottom)</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a>(&amp;rc, -dt.cx, -dt.cy);</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; </div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="comment">// Need to do this for ALL dialogs, not just top-level, since we used</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="comment">// to in 3.1.</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; </div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="comment">// Clip top level dialogs within working area</span></div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="comment">// Start child dialogs at least at (0, 0)</span></div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <a class="code" href="a00101.html#a24e2306d241270325b40ba5046c1c266">RepositionRect</a>(&amp;rc, dt.style, dt.dwExStyle);</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; </div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; dt.x = (SHORT)((bFlags &amp; <a class="code" href="a00095.html#a11626750550ca57ea5dc71e4bce3b8df">CD_USEDEFAULTX</a>) ? CW_USEDEFAULT : rc.left);</div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; dt.y = (SHORT)(rc.top);</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; dt.cx = (SHORT)((bFlags &amp; <a class="code" href="a00095.html#a6e5e178ea0f7449616f8a163858729bc">CD_USEDEFAULTCX</a>) ? CW_USEDEFAULT : rc.right - rc.left);</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; dt.cy = (SHORT)(rc.bottom - rc.top);</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; </div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">if</span> (*lpszClass != 0) {</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">if</span> (HIWORD(lpszClass)) {</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;strClassName,</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; lpszClass, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; pstrClassName = &amp;strClassName;</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; pstrClassName = (<a class="code" href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a>)lpszClass;</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; pstrClassName = (<a class="code" href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a>)MAKEINTATOM(DIALOGCLASS);</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; </div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;strWindowName,</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; lpszText, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; </div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>((dt.dwExStyle &amp; WS_EX_MDICHILD) == 0);</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; hwnd = <a class="code" href="a00362.html#a902413da8fe2f87afa282e7b603521a0">NtUserCreateWindowEx</a>(</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; dt.dwExStyle | ((fSCDLGFlags &amp; SCDLG_ANSI) ? WS_EX_ANSICREATOR : 0),</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; pstrClassName,</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; &amp;strWindowName,</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; dt.style,</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; dt.x,</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; dt.y,</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; dt.cx,</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; dt.cy,</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; hwndOwner,</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; hMenu,</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; hmod,</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; (LPVOID)NULL,</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; dwExpWinVer,</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; NULL);</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; </div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">if</span> (hwnd == NULL) {</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;CreateDialog() failed: couldn&#39;t create window&quot;</span>);</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;DeleteFontAndMenuAndFail:</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">if</span> (hMenu != NULL)</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <a class="code" href="a00362.html#a0e2153d7fe134894a5effa0d93eba4fe">NtUserDestroyMenu</a>(hMenu);</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;<span class="comment"> * Only delete the font if we didn&#39;t grab it</span></div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="comment"> * from the dialog font cache.</span></div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">if</span> ((hNewFont != NULL)) {</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; DeleteObject(hNewFont);</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; }</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; </div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd);</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; </div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;<span class="comment"> * Before anything happens with this window, we need to mark it as a</span></div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;<span class="comment"> * dialog window!!!! So do that.</span></div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">if</span> (pwnd == NULL || !<a class="code" href="a00101.html#af38990a3dec781c0280a7a447a5fe734">ValidateDialogPwnd</a>(pwnd))</div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">goto</span> DeleteFontAndMenuAndFail;</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; </div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">if</span> (dt.dwHelpID)</div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; NtUserSetWindowContextHelpId(hwnd, dt.dwHelpID);</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; </div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;<span class="comment"> * Set up the system menu on this dialog box if it has one.</span></div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">if</span> (TestWF(pwnd, WFSYSMENU)) {</div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; </div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;<span class="comment"> * For a modal dialog box with a frame and caption, we want to</span></div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;<span class="comment"> * delete the unselectable items from the system menu.</span></div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(HIBYTE(WFSIZEBOX) == HIBYTE(WFMINBOX));</div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(HIBYTE(WFMINBOX) == HIBYTE(WFMAXBOX));</div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">if</span> (!TestWF(pwnd, WFSIZEBOX | WFMINBOX | WFMAXBOX)) {</div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; </div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="a00362.html#a7c9ffa4cf005b7a9b7258d6c60beca0c">NtUserCallHwndLock</a>(hwnd, <a class="code" href="a00335.html#a0702aa2f52b6ce1a924bb15130ee1e03">SFI_XXXSETDIALOGSYSTEMMENU</a>);</div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; </div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;<span class="comment"> * We have to give this dialog its own copy of the system menu</span></div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;<span class="comment"> * in case it modifies the menu.</span></div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a>(hwnd, FALSE);</div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; </div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;<span class="comment"> * Set fDisabled to FALSE so EndDialog will Enable if dialog is ended</span></div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;<span class="comment"> * before returning to DialogBox (or if modeless).</span></div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a2b8477acb2bdd5157aa9b3665b9b5f73">fDisabled</a> = FALSE;</div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; </div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a450cafe5f87f54e31f45d3c25db34398">cxChar</a> = cxChar;</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a5de2e9defa2304d909b863ca58eb9601">cyChar</a> = cyChar;</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#acb492d29e9933b1378a48aa31c2b7290">lpfnDlg</a> = lpfnDialog;</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a9caeec5df61c00e30c911adee32d88ad">fEnd</a> = FALSE;</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a> = IDOK;</div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; </div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;<span class="comment"> * Need to remember Unicode status.</span></div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">if</span> (fSCDLGFlags &amp; SCDLG_ANSI)</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a29bb851466268efcf57e7e81e2d0ab09">flags</a> |= DLGF_ANSI;</div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; </div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;<span class="comment"> * Time to lock pwnd so it doesn&#39;t go away while we&#39;re calling back.</span></div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwnd, &amp;tlpwnd);</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; </div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;<span class="comment"> * Have to do a callback here for WOW apps. WOW needs what&#39;s in lParam</span></div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;<span class="comment"> * before the dialog gets any messages.</span></div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; </div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;<span class="comment"> * If the app is a Wow app then the Lo Word of the hInstance is the</span></div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;<span class="comment"> * 16-bit hInstance. Set the lParam, which no-one should look at</span></div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;<span class="comment"> * but the app, to the 16 bit value</span></div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">if</span> (LOWORD(hmod) != 0) {</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; fWowWindow = TRUE;</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; lParam = <a class="code" href="a00026.html#a44b100b9bc713eb0be0cfd01dfa502c4">WOWDlgInit</a>(hwnd, lParam);</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; fWowWindow = FALSE;</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; }</div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; </div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;<span class="comment"> * If a user defined font is used, save the handle so that we can delete</span></div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="comment"> * it when the dialog is destroyed.</span></div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">if</span> (bFlags &amp; <a class="code" href="a00095.html#acc54a184a44db7a191bcdb76e9be7378">CD_USERFONT</a>) {</div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; </div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a8691fcad6db0ca897ba89e6a4b5acb75">hUserFont</a> = hNewFont;</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; </div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">if</span> (lpfnDialog != NULL) {</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;<span class="comment"> * Tell the dialog that it will be using this font...</span></div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <a class="code" href="a00041.html#a6bdc5311bb7640aba29656dd7bb4e71a">SendMessageWorker</a>(pwnd, WM_SETFONT, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hNewFont, 0L, FALSE);</div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; }</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; }</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">if</span> (!dt.wDlgVer)</div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; dit.dwHelpID = 0;</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; </div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;<span class="comment"> * Loop through the dialog controls, doing a CreateWindowEx() for each of</span></div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;<span class="comment"> * them.</span></div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">while</span> (dt.cDlgItems-- != 0) {</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; </div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">if</span> (dt.wDlgVer) {</div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; RtlCopyMemory(&amp;dit, lpdit, <span class="keyword">sizeof</span> dit);</div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; } <span class="keywordflow">else</span></div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; {</div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; dit.dwHelpID = 0;</div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; dit.dwExStyle = lpdit-&gt;dwExtendedStyle;</div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; dit.style = lpdit-&gt;style;</div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; dit.x = lpdit-&gt;x;</div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; dit.y = lpdit-&gt;y;</div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; dit.cx = lpdit-&gt;cx;</div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; dit.cy = lpdit-&gt;cy;</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; dit.dwID = lpdit-&gt;id;</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; </div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; dit.x = XPixFromXDU(dit.x, cxChar);</div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; dit.y = YPixFromYDU(dit.y, cyChar);</div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; dit.cx = XPixFromXDU(dit.cx, cxChar);</div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; dit.cy = YPixFromYDU(dit.cy, cyChar);</div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; </div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; lpszClass = (LPWSTR)(((PBYTE)(lpdit)) + (dt.wDlgVer ? <span class="keyword">sizeof</span>(DLGITEMTEMPLATE2):<span class="keyword">sizeof</span>(DLGITEMTEMPLATE)));</div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; </div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment"> * If the first WORD is 0xFFFF the second word is the encoded class name index.</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> * Use it to look up the class name string.</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">if</span> (*(LPWORD)lpszClass == 0xFFFF) {</div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; lpszText = lpszClass + 2;</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; lpszClass = (LPWSTR)(<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#acfbb1bdf492ec9f7a21f0094adbbe948">atomSysClass</a>[*(((LPWORD)lpszClass)+1) &amp; ~CODEBIT]);</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; lpszText = (UTCHAR *)<a class="code" href="a00095.html#aaa84fae071faad02e6ac0cc388ae2ed6">SkipSz</a>(lpszClass);</div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; }</div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; lpszText = (UTCHAR *)NextWordBoundary(lpszText); <span class="comment">// UINT align lpszText</span></div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; </div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; dit.dwExStyle |= WS_EX_NOPARENTNOTIFY;</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; </div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="comment">// Replace flat borders with 3D ones for DS_3DLOOK dialogs</span></div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="comment">// We test the WINDOW style, not the template style now. This is so</span></div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="comment">// that 4.0 apps--who get 3D stuff automatically--can turn it off on</span></div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="comment">// create if they want.</span></div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; </div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="comment">// HACK!</span></div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="comment">// Treat DS_3DLOOK combos like they have a WS_EX_CLIENTEDGE. Why</span></div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="comment">// should we have to draw the borders of a combobox ourselves?</span></div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="comment">// We can&#39;t do the same thing for WS_BORDER though becaues of</span></div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="comment">// PC Fools--they use the presence of WS_BORDER to distinguish</span></div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="comment">// between lists and combos.</span></div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; </div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">if</span> (TestWF(pwnd, DF3DLOOK))</div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">if</span> ((dit.style &amp; WS_BORDER) ||</div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; (lpszClass == MAKEINTRESOURCE(<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#acfbb1bdf492ec9f7a21f0094adbbe948">atomSysClass</a>[ICLS_COMBOBOX])))</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; {</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; dit.style &amp;= ~WS_BORDER;</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; dit.dwExStyle |= WS_EX_CLIENTEDGE;</div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; }</div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; }</div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; </div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;<span class="comment"> * Get pointer to additional data. lpszText can point to an encoded</span></div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;<span class="comment"> * ordinal number for some controls (e.g. static icon control) so</span></div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="comment"> * we check for that here.</span></div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">if</span> (*(LPWORD)lpszText == 0xFFFF) {</div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; lpCreateParams = (LPWSTR)((PBYTE)lpszText + 4);</div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; strWindowName.<a class="code" href="a02457.html#a99314e2f6ea6b552b9538bbe7b7e64ba">Buffer</a> = lpszText;</div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; strWindowName.<a class="code" href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a> = 4;</div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; strWindowName.<a class="code" href="a02457.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = 4;</div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; strWindowName.<a class="code" href="a02457.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a> = FALSE;</div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; lpCreateParams = (LPWSTR)((PBYTE)<a class="code" href="a00095.html#a4c54a84b86654ecfe88c75110a8d2692">WordSkipSz</a>(lpszText));</div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;strWindowName,</div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; lpszText, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; </div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="comment"> * If control is edit control and caller wants global storage</span></div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;<span class="comment"> * of edit text, allocate object in WOW and pass instance</span></div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;<span class="comment"> * handle to CreateWindowEx().</span></div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">if</span> (fWowWindow &amp;&amp; (bFlags &amp; <a class="code" href="a00095.html#adab312d41ef801372d56ac3d604ac5a5">CD_GLOBALEDIT</a>) &amp;&amp;</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; ((!HIWORD(lpszClass) &amp;&amp;</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; LOWORD(lpszClass) == (ATOM)(<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#acfbb1bdf492ec9f7a21f0094adbbe948">atomSysClass</a>[ICLS_EDIT])) ||</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; (HIWORD(lpszClass) &amp;&amp;</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; (wcscmp(lpszClass, <a class="code" href="a00095.html#a6e7b077bea590abecbf03bbdcc500682">szEDITCLASS</a>) == 0)))) {</div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; </div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;<span class="comment"> * Allocate only one global object (first time we see editctl.)</span></div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span> (!(<a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;hData)) {</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a189ff2a49e10e3df591511b230b71779">hData</a> = <a class="code" href="a00026.html#a533305c1632500cf84e422c082a05a75">GetEditDS</a>();</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (!(<a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;hData))</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordflow">goto</span> NoCreate;</div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; }</div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; </div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; hmodCreate = <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a189ff2a49e10e3df591511b230b71779">hData</a>;</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; dwExpWinVer = GETEXPWINVER(hmodCreate);</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; hmodCreate = hmod;</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; }</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; </div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>((dit.dwExStyle &amp; WS_EX_ANSICREATOR) == 0);</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; </div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;<span class="comment"> * Get pointer to additional data.</span></div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;<span class="comment"> * For WOW, instead of pointing lpCreateParams at the CreateParams</span></div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;<span class="comment"> * data, set lpCreateParams to whatever DWORD is stored in the 32-bit</span></div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;<span class="comment"> * DLGTEMPLATE&#39;s CreateParams. WOW has already made sure that that</span></div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;<span class="comment"> * 32-bit value is indeed a 16:16 pointer to the CreateParams in the</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;<span class="comment"> * 16-bit DLGTEMPLATE.</span></div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; </div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">if</span> (*lpCreateParams) {</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; lpCreateParamsData = (LPBYTE)lpCreateParams;</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">if</span> (fWowWindow || fSCDLGFlags &amp; SCDLG_16BIT) {</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; lpCreateParamsData =</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; (LPBYTE)*(UNALIGNED <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> *)</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; (lpCreateParamsData + <span class="keyword">sizeof</span>(WORD));</div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; lpCreateParamsData = NULL;</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; }</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; </div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="comment"> * If the dialog template specifies a menu ID then TestwndChild(pwnd)</span></div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;<span class="comment"> * must be TRUE or CreateWindowEx will think the ID is an hMenu rather</span></div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;<span class="comment"> * than an ID (in a dialog template you&#39;ll never have an hMenu).</span></div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;<span class="comment"> * However for compatibility reasons we let it go if the ID = 0.</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">if</span> (dit.dwID) {</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="comment"> * This makes TestwndChild(pwnd) on this window return TRUE.</span></div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; dit.style |= WS_CHILD;</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; dit.style &amp;= ~WS_POPUP;</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; }</div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; </div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">if</span> (HIWORD(lpszClass)) {</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;strClassName,</div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; lpszClass, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; pstrClassName = &amp;strClassName;</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; pstrClassName = (<a class="code" href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a>)lpszClass;</div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>((dit.dwExStyle &amp; WS_EX_MDICHILD) == 0);</div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; </div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; hwnd2 = <a class="code" href="a00362.html#a902413da8fe2f87afa282e7b603521a0">NtUserCreateWindowEx</a>(</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; dit.dwExStyle | ((fSCDLGFlags &amp; SCDLG_ANSI) ? WS_EX_ANSICREATOR : 0),</div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; pstrClassName,</div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; &amp;strWindowName,</div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; dit.style,</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; dit.x,</div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; dit.y,</div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; dit.cx,</div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; dit.cy,</div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; hwnd,</div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; (HMENU)dit.dwID,</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; hmodCreate,</div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; lpCreateParamsData,</div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; dwExpWinVer,</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; NULL);</div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; </div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keywordflow">if</span> (hwnd2 == NULL) {</div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;NoCreate:</div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;<span class="comment"> * Couldn&#39;t create the window -- return NULL.</span></div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">if</span> (!TestWF(pwnd, DFNOFAILCREATE))</div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; {</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;CreateDialog() failed: couldn&#39;t create control&quot;</span>);</div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">if</span> (ThreadUnlock(&amp;tlpwnd))</div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <a class="code" href="a00362.html#a0aa1711ac96764929b5aec3aadb7af2f">NtUserDestroyWindow</a>(hwnd);</div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; }</div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; }</div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; {</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; </div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">if</span> (dit.dwHelpID)</div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; NtUserSetWindowContextHelpId(hwnd2, dit.dwHelpID);</div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; </div>
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;<span class="comment"> * If it is a not a default system font, set the font for all the</span></div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;<span class="comment"> * child windows of the dialogbox.</span></div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keywordflow">if</span> (hNewFont != NULL) {</div>
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; SendMessage(hwnd2, WM_SETFONT, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hNewFont, 0L);</div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; }</div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; </div>
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160;<span class="comment"> * Result gets ID of last (hopefully only) defpushbutton.</span></div>
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="keywordflow">if</span> (SendMessage(hwnd2, WM_GETDLGCODE, 0, 0L) &amp; DLGC_DEFPUSHBUTTON) {</div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a> = dit.dwID;</div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; }</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; }</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;<span class="comment"> * Point at next item template</span></div>
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; lpdit = (LPDLGITEMTEMPLATE)NextDWordBoundary(</div>
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; (LPBYTE)(lpCreateParams + 1) + *lpCreateParams);</div>
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; </div>
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">if</span> (!TestWF(pwnd, DFCONTROL)) {</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <a class="code" href="a02581.html">PWND</a> pwndT = <a class="code" href="a00107.html#ac31691655fded6c2c73a1b15addabca3">_GetNextDlgTabItem</a>(pwnd, NULL, FALSE);</div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; hwndEditFirst = HW(pwndT);</div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; }</div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; </div>
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">if</span> (lpfnDialog != NULL) {</div>
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; fSuccess = <a class="code" href="a00041.html#a6bdc5311bb7640aba29656dd7bb4e71a">SendMessageWorker</a>(pwnd, WM_INITDIALOG,</div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hwndEditFirst, lParam, FALSE);</div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; </div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="comment">// Make sure the window didn&#39;t get nuked during WM_INITDIALOG</span></div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordflow">if</span> (!RevalidateHwnd(hwnd)) {</div>
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">goto</span> CreateDialogReturn;</div>
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; }</div>
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; </div>
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="keywordflow">if</span> (fSuccess &amp;&amp; !<a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;fEnd) {</div>
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; </div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="comment">// To remove the two-default-push-buttons problem, we must make</span></div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="comment">// sure CheckDefPushButton() will remove default from other push</span></div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="comment">// buttons. This happens only if hwndEditFirst != hwndNewFocus;</span></div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="comment">// So, we make it NULL here. This breaks Designer&#39;s install</span></div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="comment">// program(which can&#39;t take a DM_GETDEFID. So, we do a version</span></div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="comment">// check here.</span></div>
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="keywordflow">if</span> (!TestWF(pwnd, DFCONTROL)) {</div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <a class="code" href="a02581.html">PWND</a> pwndT;</div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="a03743.html#ac5ede70e870dc1cf540d7524887e4edc">IsWindow</a>(hwndEditFirst) || TestWF(pwnd, WFWIN40COMPAT))</div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; hwndEditFirst = NULL;</div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; </div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="comment">// They could have disabled hwndEditFirst during WM_INITDIALOG.</span></div>
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="comment">// So, let use obtain the First Tab again.</span></div>
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; pwndT = <a class="code" href="a00107.html#ac31691655fded6c2c73a1b15addabca3">_GetNextDlgTabItem</a>(pwnd, NULL, FALSE);</div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">if</span> (hwndNewFocus = HW(pwndT))</div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <a class="code" href="a00101.html#aea932f0ca7b1107d7bb891c305ebf653">DlgSetFocus</a>(hwndNewFocus);</div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; </div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <a class="code" href="a00104.html#af35bba541772e2a24ff1a3fcfffb9533">xxxCheckDefPushButton</a>(pwnd, hwndEditFirst, hwndNewFocus);</div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; }</div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; }</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; </div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="a03743.html#ac5ede70e870dc1cf540d7524887e4edc">IsWindow</a>(hwnd))</div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; {</div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="comment">// Omnis7 relies on a nonzero return even though they nuked this</span></div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="comment">// dialog during processing of the WM_INITDIALOG message</span></div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="comment">// -- jeffbog -- 2/24/95 -- Win95B B#12368</span></div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; ThreadUnlock(&amp;tlpwnd);</div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <span class="keywordflow">if</span> (GetAppVer(NULL) &lt; VER40)</div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">return</span>(hwnd);</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">return</span>(NULL);</div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; }</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; </div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;<span class="comment"> * Bring this dialog into the foreground</span></div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160;<span class="comment"> * if DS_SETFOREGROUND is set.</span></div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">if</span> (bFlags &amp; <a class="code" href="a00095.html#ad5116f3de8743d15dd3fcf62ed5af978">CD_SETFOREGROUND</a>) {</div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; NtUserSetForegroundWindow(hwnd);</div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="a03743.html#ac5ede70e870dc1cf540d7524887e4edc">IsWindow</a>(hwnd))</div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; {</div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; hwnd = NULL;</div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">goto</span> CreateDialogReturn;</div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; }</div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; }</div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; </div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <span class="keywordflow">if</span> ((bFlags &amp; <a class="code" href="a00095.html#afeeef8812a58cc729206c048999e4c32">CD_VISIBLE</a>) &amp;&amp; !<a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;fEnd &amp;&amp; (!TestWF(pwnd, WFVISIBLE))) {</div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(hwnd, SHOW_OPENWINDOW);</div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <a class="code" href="a00026.html#a8bc3d6c71e90bc4c6472c0647af92301">UpdateWindow</a>(hwnd);</div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; }</div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; </div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;CreateDialogReturn:</div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; ThreadUnlock(&amp;tlpwnd);</div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; </div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;<span class="comment"> * 17609 Gupta&#39;s SQLWin deletes the window before CreateDialog returns</span></div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;<span class="comment"> * but still expects non-zero return value from CreateDialog so we will</span></div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;<span class="comment"> * do like win 3.1 and not revalidate for 16 bit apps</span></div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">if</span> (!(fSCDLGFlags &amp; SCDLG_NOREVALIDATE) &amp;&amp; !RevalidateHwnd(hwnd)) {</div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; hwnd = NULL;</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; }</div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; </div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">return</span> hwnd;</div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aa00020_html_ae142b9698e40ef094e7481d595ddc9ae"><div class="ttname"><a href="a00020.html#ae142b9698e40ef094e7481d595ddc9ae">ghFontSys</a></div><div class="ttdeci">HFONT ghFontSys</div><div class="ttdef"><b>Definition:</b> <a href="a00020_source.html#l00101">clglobal.c:101</a></div></div>
<div class="ttc" id="aa00095_html_a11626750550ca57ea5dc71e4bce3b8df"><div class="ttname"><a href="a00095.html#a11626750550ca57ea5dc71e4bce3b8df">CD_USEDEFAULTX</a></div><div class="ttdeci">#define CD_USEDEFAULTX</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00160">dlgbegin.c:160</a></div></div>
<div class="ttc" id="aa00371_html_a01c4659626880ba56745765a3580a36b"><div class="ttname"><a href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a></div><div class="ttdeci">#define RIPMSG0(flags, szFmt)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00131">winerrp.h:131</a></div></div>
<div class="ttc" id="aa00041_html_a6bdc5311bb7640aba29656dd7bb4e71a"><div class="ttname"><a href="a00041.html#a6bdc5311bb7640aba29656dd7bb4e71a">SendMessageWorker</a></div><div class="ttdeci">LONG SendMessageWorker(PWND pwnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL fAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a00041_source.html#l00258">clmsg.c:258</a></div></div>
<div class="ttc" id="aa02641_html_a189ff2a49e10e3df591511b230b71779"><div class="ttname"><a href="a02641.html#a189ff2a49e10e3df591511b230b71779">_DLG::hData</a></div><div class="ttdeci">HANDLE hData</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02155">user.h:2155</a></div></div>
<div class="ttc" id="aa02513_html_a4bd4bf0c7aa2d88610b01f436ec2e82d"><div class="ttname"><a href="a02513.html#a4bd4bf0c7aa2d88610b01f436ec2e82d">tagSERVERINFO::cxSysFontChar</a></div><div class="ttdeci">int cxSysFontChar</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01013">user.h:1013</a></div></div>
<div class="ttc" id="aa00335_html_a0702aa2f52b6ce1a924bb15130ee1e03"><div class="ttname"><a href="a00335.html#a0702aa2f52b6ce1a924bb15130ee1e03">SFI_XXXSETDIALOGSYSTEMMENU</a></div><div class="ttdeci">#define SFI_XXXSETDIALOGSYSTEMMENU</div><div class="ttdef"><b>Definition:</b> <a href="a00335_source.html#l00054">cscall.h:54</a></div></div>
<div class="ttc" id="aa00095_html_a6e5e178ea0f7449616f8a163858729bc"><div class="ttname"><a href="a00095.html#a6e5e178ea0f7449616f8a163858729bc">CD_USEDEFAULTCX</a></div><div class="ttdeci">#define CD_USEDEFAULTCX</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00161">dlgbegin.c:161</a></div></div>
<div class="ttc" id="aa00362_html_a7c9ffa4cf005b7a9b7258d6c60beca0c"><div class="ttname"><a href="a00362.html#a7c9ffa4cf005b7a9b7258d6c60beca0c">NtUserCallHwndLock</a></div><div class="ttdeci">DWORD NtUserCallHwndLock(IN HWND hwnd, IN DWORD xpfnProc)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03307">kernel/ntstubs.c:3307</a></div></div>
<div class="ttc" id="aa00095_html_adab312d41ef801372d56ac3d604ac5a5"><div class="ttname"><a href="a00095.html#adab312d41ef801372d56ac3d604ac5a5">CD_GLOBALEDIT</a></div><div class="ttdeci">#define CD_GLOBALEDIT</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00157">dlgbegin.c:157</a></div></div>
<div class="ttc" id="aa00362_html_a0aa1711ac96764929b5aec3aadb7af2f"><div class="ttname"><a href="a00362.html#a0aa1711ac96764929b5aec3aadb7af2f">NtUserDestroyWindow</a></div><div class="ttdeci">BOOL NtUserDestroyWindow(IN HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02870">kernel/ntstubs.c:2870</a></div></div>
<div class="ttc" id="aa02641_html_a8691fcad6db0ca897ba89e6a4b5acb75"><div class="ttname"><a href="a02641.html#a8691fcad6db0ca897ba89e6a4b5acb75">_DLG::hUserFont</a></div><div class="ttdeci">HFONT hUserFont</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02156">user.h:2156</a></div></div>
<div class="ttc" id="aa02513_html_aaba01905c90baa2f27ba6869e4ddad45"><div class="ttname"><a href="a02513.html#aaba01905c90baa2f27ba6869e4ddad45">tagSERVERINFO::hMsgFont</a></div><div class="ttdeci">HFONT hMsgFont</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01040">user.h:1040</a></div></div>
<div class="ttc" id="aa00095_html_abbb7186e7025996fee1d72fabd41ea38"><div class="ttname"><a href="a00095.html#abbb7186e7025996fee1d72fabd41ea38">InternalCreateDialog</a></div><div class="ttdeci">HWND InternalCreateDialog(HANDLE hmod, LPDLGTEMPLATE lpdt, DWORD cb, HWND hwndOwner, DLGPROC lpfnDialog, LONG lParam, UINT fSCDLGFlags)</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00176">dlgbegin.c:176</a></div></div>
<div class="ttc" id="aa00026_html_a8bc3d6c71e90bc4c6472c0647af92301"><div class="ttname"><a href="a00026.html#a8bc3d6c71e90bc4c6472c0647af92301">UpdateWindow</a></div><div class="ttdeci">BOOL UpdateWindow(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l03049">client.c:3049</a></div></div>
<div class="ttc" id="aa02641_html_a9caeec5df61c00e30c911adee32d88ad"><div class="ttname"><a href="a02641.html#a9caeec5df61c00e30c911adee32d88ad">_DLG::fEnd</a></div><div class="ttdeci">UINT fEnd</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02152">user.h:2152</a></div></div>
<div class="ttc" id="aa02641_html_acb492d29e9933b1378a48aa31c2b7290"><div class="ttname"><a href="a02641.html#acb492d29e9933b1378a48aa31c2b7290">_DLG::lpfnDlg</a></div><div class="ttdeci">WNDPROC lpfnDlg</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02147">user.h:2147</a></div></div>
<div class="ttc" id="aa00095_html_ad5116f3de8743d15dd3fcf62ed5af978"><div class="ttname"><a href="a00095.html#ad5116f3de8743d15dd3fcf62ed5af978">CD_SETFOREGROUND</a></div><div class="ttdeci">#define CD_SETFOREGROUND</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00159">dlgbegin.c:159</a></div></div>
<div class="ttc" id="aa02641_html_a2b8477acb2bdd5157aa9b3665b9b5f73"><div class="ttname"><a href="a02641.html#a2b8477acb2bdd5157aa9b3665b9b5f73">_DLG::fDisabled</a></div><div class="ttdeci">UINT fDisabled</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02153">user.h:2153</a></div></div>
<div class="ttc" id="aa02449_html"><div class="ttname"><a href="a02449.html">_LARGE_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00266">user.h:266</a></div></div>
<div class="ttc" id="aa00101_html_af38990a3dec781c0280a7a447a5fe734"><div class="ttname"><a href="a00101.html#af38990a3dec781c0280a7a447a5fe734">ValidateDialogPwnd</a></div><div class="ttdeci">BOOL ValidateDialogPwnd(PWND pwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00101_source.html#l00180">dlgmgr.c:180</a></div></div>
<div class="ttc" id="aa00362_html_a902413da8fe2f87afa282e7b603521a0"><div class="ttname"><a href="a00362.html#a902413da8fe2f87afa282e7b603521a0">NtUserCreateWindowEx</a></div><div class="ttdeci">HWND NtUserCreateWindowEx(IN DWORD dwExStyle, IN PLARGE_STRING pstrClassName, IN PLARGE_STRING pstrWindowName OPTIONAL, IN DWORD dwStyle, IN int x, IN int y, IN int nWidth, IN int nHeight, IN HWND hwndParent, IN HMENU hmenu, IN HANDLE hModule, IN LPVOID pParam, IN DWORD dwFlags, IN LPDWORD pWOW OPTIONAL)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l06362">kernel/ntstubs.c:6362</a></div></div>
<div class="ttc" id="aa03743_html_ac5ede70e870dc1cf540d7524887e4edc"><div class="ttname"><a href="a03743.html#ac5ede70e870dc1cf540d7524887e4edc">IsWindow</a></div><div class="ttdeci">BOOL IsWindow(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00421">client/wow.c:421</a></div></div>
<div class="ttc" id="aa00107_html_ac31691655fded6c2c73a1b15addabca3"><div class="ttname"><a href="a00107.html#ac31691655fded6c2c73a1b15addabca3">_GetNextDlgTabItem</a></div><div class="ttdeci">PWND _GetNextDlgTabItem(PWND pwndDlg, PWND pwnd, BOOL fPrev)</div><div class="ttdef"><b>Definition:</b> <a href="a00107_source.html#l00336">dlgmgrc.c:336</a></div></div>
<div class="ttc" id="aa00371_html_a162a73e20dfabca084a3ebb4581631a8"><div class="ttname"><a href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a></div><div class="ttdeci">#define UserAssert(exp)</div><div class="ttdef"><b>Definition:</b> <a href="a00950_source.html#l00117">usersrv.h:117</a></div></div>
<div class="ttc" id="aa00371_html_afa5f32de88404289ec03cd2c0e61e94f"><div class="ttname"><a href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a></div><div class="ttdeci">#define RIP_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00028">winerrp.h:28</a></div></div>
<div class="ttc" id="aa00365_html_aaad45088258144a066fcea47a43bb325"><div class="ttname"><a href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a></div><div class="ttdeci">struct _DLG * PDLG</div></div>
<div class="ttc" id="aa00371_html_a31aafffb49dfe98bdc749c9b35c90162"><div class="ttname"><a href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a></div><div class="ttdeci">#define RIPMSG1(flags, szFmt, p1)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00132">winerrp.h:132</a></div></div>
<div class="ttc" id="aa02457_html_af4ab07640de8950ca1f439bb34be4b53"><div class="ttname"><a href="a02457.html#af4ab07640de8950ca1f439bb34be4b53">_LARGE_UNICODE_STRING::bAnsi</a></div><div class="ttdeci">ULONG bAnsi</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00283">user.h:283</a></div></div>
<div class="ttc" id="aa00095_html_a5806455e7922193d303a2f360562cb2f"><div class="ttname"><a href="a00095.html#a5806455e7922193d303a2f360562cb2f">CreateDlgFont</a></div><div class="ttdeci">HFONT CreateDlgFont(HDC hdcDlg, LPWORD FAR *lplpstr, LPDLGTEMPLATE2 lpdt)</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00059">dlgbegin.c:59</a></div></div>
<div class="ttc" id="aa00095_html_afeeef8812a58cc729206c048999e4c32"><div class="ttname"><a href="a00095.html#afeeef8812a58cc729206c048999e4c32">CD_VISIBLE</a></div><div class="ttdeci">#define CD_VISIBLE</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00156">dlgbegin.c:156</a></div></div>
<div class="ttc" id="aa00026_html_a533305c1632500cf84e422c082a05a75"><div class="ttname"><a href="a00026.html#a533305c1632500cf84e422c082a05a75">GetEditDS</a></div><div class="ttdeci">HANDLE GetEditDS()</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l02345">client.c:2345</a></div></div>
<div class="ttc" id="aa00263_html_ae1ceb717793b21c250225fce6cb4619a"><div class="ttname"><a href="a00263.html#ae1ceb717793b21c250225fce6cb4619a">_AdjustWindowRectEx</a></div><div class="ttdeci">BOOL _AdjustWindowRectEx(LPRECT lprc, LONG style, BOOL fMenu, DWORD dwExStyle)</div><div class="ttdef"><b>Definition:</b> <a href="a00263_source.html#l00550">winmgrc.c:550</a></div></div>
<div class="ttc" id="aa00101_html_a24e2306d241270325b40ba5046c1c266"><div class="ttname"><a href="a00101.html#a24e2306d241270325b40ba5046c1c266">RepositionRect</a></div><div class="ttdeci">void RepositionRect(LPRECT lprc, DWORD dwStyle, DWORD dwExStyle)</div><div class="ttdef"><b>Definition:</b> <a href="a00101_source.html#l01293">dlgmgr.c:1293</a></div></div>
<div class="ttc" id="aa00026_html_a44b100b9bc713eb0be0cfd01dfa502c4"><div class="ttname"><a href="a00026.html#a44b100b9bc713eb0be0cfd01dfa502c4">WOWDlgInit</a></div><div class="ttdeci">DWORD WOWDlgInit(HWND hwndDlg, LONG lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l02326">client.c:2326</a></div></div>
<div class="ttc" id="aa00935_html_a59a3cfdacf3d0e5d10c20abee032cfc6"><div class="ttname"><a href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a></div><div class="ttdeci">BOOL APIENTRY OffsetRect(LPRECT prc, int cx, int cy)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00132">rect.c:132</a></div></div>
<div class="ttc" id="aa00899_html_abfae1dfb48db23dcea4494f7990ad6a6"><div class="ttname"><a href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a></div><div class="ttdeci">VOID ThreadLock(PVOID pobj, PTL ptl)</div></div>
<div class="ttc" id="aa00362_html_a0e2153d7fe134894a5effa0d93eba4fe"><div class="ttname"><a href="a00362.html#a0e2153d7fe134894a5effa0d93eba4fe">NtUserDestroyMenu</a></div><div class="ttdeci">BOOL NtUserDestroyMenu(IN HMENU hmenu)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02854">kernel/ntstubs.c:2854</a></div></div>
<div class="ttc" id="aa00095_html_a4c54a84b86654ecfe88c75110a8d2692"><div class="ttname"><a href="a00095.html#a4c54a84b86654ecfe88c75110a8d2692">WordSkipSz</a></div><div class="ttdeci">PBYTE WordSkipSz(UTCHAR *lpsz)</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00036">dlgbegin.c:36</a></div></div>
<div class="ttc" id="aa02513_html_ad47c3c3836f1cb6cfb9ee4dd5d344496"><div class="ttname"><a href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">tagSERVERINFO::rcWork</a></div><div class="ttdeci">RECT rcWork</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01007">user.h:1007</a></div></div>
<div class="ttc" id="aa00563_html_a074685e97e89d6aa2accdfcb82328699"><div class="ttname"><a href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a></div><div class="ttdeci">ddeml v[i&lt; inst &gt;][t&lt; type &gt;][hObj|pObj] Dump DDEML state information ddeml lists all ddeml instances for this process n ddeml t&lt; type &gt; lists all ddeml objects of the given type n n assumes link is first DWORD</div><div class="ttdef"><b>Definition:</b> <a href="a00563_source.html#l00175">exts.h:175</a></div></div>
<div class="ttc" id="aa00095_html_a6e7b077bea590abecbf03bbdcc500682"><div class="ttname"><a href="a00095.html#a6e7b077bea590abecbf03bbdcc500682">szEDITCLASS</a></div><div class="ttdeci">LPCWSTR szEDITCLASS</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00017">dlgbegin.c:17</a></div></div>
<div class="ttc" id="aa01881_html"><div class="ttname"><a href="a01881.html">_TL</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00347">usercli.h:347</a></div></div>
<div class="ttc" id="aa02513_html_acfbb1bdf492ec9f7a21f0094adbbe948"><div class="ttname"><a href="a02513.html#acfbb1bdf492ec9f7a21f0094adbbe948">tagSERVERINFO::atomSysClass</a></div><div class="ttdeci">ATOM atomSysClass[ICLS_MAX]</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00998">user.h:998</a></div></div>
<div class="ttc" id="aa00365_html_a2313d9960d832da75d595b73ff75d1dc"><div class="ttname"><a href="a00365.html#a2313d9960d832da75d595b73ff75d1dc">wcsncpycch</a></div><div class="ttdeci">DWORD wcsncpycch(LPWSTR pwsDest, LPCWSTR pwszSrc, DWORD cch)</div><div class="ttdef"><b>Definition:</b> <a href="a03650_source.html#l00146">rtl/random.c:146</a></div></div>
<div class="ttc" id="aa00095_html_aaa84fae071faad02e6ac0cc388ae2ed6"><div class="ttname"><a href="a00095.html#aaa84fae071faad02e6ac0cc388ae2ed6">SkipSz</a></div><div class="ttdeci">PBYTE SkipSz(UTCHAR *lpsz)</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00025">dlgbegin.c:25</a></div></div>
<div class="ttc" id="aa02581_html"><div class="ttname"><a href="a02581.html">tagWND</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01388">user.h:1388</a></div></div>
<div class="ttc" id="aa00095_html_a2f9d0ab1da92cb7b6167b4b5d1dbd70a"><div class="ttname"><a href="a00095.html#a2f9d0ab1da92cb7b6167b4b5d1dbd70a">ValidateCallback</a></div><div class="ttdeci">BOOL ValidateCallback(HANDLE h)</div></div>
<div class="ttc" id="aa03743_html_a5068ed88d48ba583c1459eaa69ab6f8a"><div class="ttname"><a href="a03743.html#a5068ed88d48ba583c1459eaa69ab6f8a">ClientToScreen</a></div><div class="ttdeci">BOOL ClientToScreen(HWND hwnd, LPPOINT ppoint)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00708">client/wow.c:708</a></div></div>
<div class="ttc" id="aa02457_html_a99314e2f6ea6b552b9538bbe7b7e64ba"><div class="ttname"><a href="a02457.html#a99314e2f6ea6b552b9538bbe7b7e64ba">_LARGE_UNICODE_STRING::Buffer</a></div><div class="ttdeci">PWSTR Buffer</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00284">user.h:284</a></div></div>
<div class="ttc" id="aa00362_html_af2e007664f2c2b68908d086861b77ddb"><div class="ttname"><a href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a></div><div class="ttdeci">BOOL NtUserShowWindow(IN HWND hwnd, IN int nCmdShow)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04899">kernel/ntstubs.c:4899</a></div></div>
<div class="ttc" id="aa00371_html_a41f433389f20db57f042022a662e96de"><div class="ttname"><a href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a></div><div class="ttdeci">#define RIP_WARNING</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00029">winerrp.h:29</a></div></div>
<div class="ttc" id="aa00362_html_ae605196462ba78c3bf2d2bf76a905878"><div class="ttname"><a href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a></div><div class="ttdeci">HMENU NtUserGetSystemMenu(IN HWND hwnd, IN BOOL bRevert)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03989">kernel/ntstubs.c:3989</a></div></div>
<div class="ttc" id="aa02641_html_a450cafe5f87f54e31f45d3c25db34398"><div class="ttname"><a href="a02641.html#a450cafe5f87f54e31f45d3c25db34398">_DLG::cxChar</a></div><div class="ttdeci">int cxChar</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02149">user.h:2149</a></div></div>
<div class="ttc" id="aa00365_html_a4dddfac60ddaa5a11f91719826b7b270"><div class="ttname"><a href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a></div><div class="ttdeci">VOID RtlInitLargeUnicodeString(PLARGE_UNICODE_STRING plstr, LPCWSTR psz, UINT cchLimit)</div><div class="ttdef"><b>Definition:</b> <a href="a00932_source.html#l00587">chartran.c:587</a></div></div>
<div class="ttc" id="aa02457_html_ad355c4270a8465c419a47e3e68098cf1"><div class="ttname"><a href="a02457.html#ad355c4270a8465c419a47e3e68098cf1">_LARGE_UNICODE_STRING::MaximumLength</a></div><div class="ttdeci">ULONG MaximumLength</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00282">user.h:282</a></div></div>
<div class="ttc" id="aa00104_html_af35bba541772e2a24ff1a3fcfffb9533"><div class="ttname"><a href="a00104.html#af35bba541772e2a24ff1a3fcfffb9533">xxxCheckDefPushButton</a></div><div class="ttdeci">void xxxCheckDefPushButton(PWND pwndDlg, HWND hwndOldFocus, HWND hwndNewFocus)</div><div class="ttdef"><b>Definition:</b> <a href="a00104_source.html#l00067">dlgmgr2.c:67</a></div></div>
<div class="ttc" id="aa00293_html_a41d387d1b2d42169cbaa2092c8a02abf"><div class="ttname"><a href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a></div><div class="ttdeci">#define ValidateHwnd(hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00293_source.html#l00090">immcli.h:90</a></div></div>
<div class="ttc" id="aa02457_html_abfb371817eb1c8f0d8a165bb2b798092"><div class="ttname"><a href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">_LARGE_UNICODE_STRING::Length</a></div><div class="ttdeci">ULONG Length</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00281">user.h:281</a></div></div>
<div class="ttc" id="aa03608_html_afd1a0e78d1f88954d93e48ab3821781f"><div class="ttname"><a href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a></div><div class="ttdeci">typedef UINT(FAR WINAPI *MSGSOUNDPROC)()</div></div>
<div class="ttc" id="aa03620_html"><div class="ttname"><a href="a03620.html">precomp.h</a></div></div>
<div class="ttc" id="aa00365_html_aa453bfba298bc156c84c4a04a89b4436"><div class="ttname"><a href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a></div><div class="ttdeci">struct _LARGE_STRING * PLARGE_STRING</div></div>
<div class="ttc" id="aa02641_html_a29bb851466268efcf57e7e81e2d0ab09"><div class="ttname"><a href="a02641.html#a29bb851466268efcf57e7e81e2d0ab09">_DLG::flags</a></div><div class="ttdeci">DWORD flags</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02148">user.h:2148</a></div></div>
<div class="ttc" id="aa02641_html_a8b2e13c78efca330f06b6ddcd7464b41"><div class="ttname"><a href="a02641.html#a8b2e13c78efca330f06b6ddcd7464b41">_DLG::result</a></div><div class="ttdeci">int result</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02154">user.h:2154</a></div></div>
<div class="ttc" id="aa00020_html_ad760da1dd81d9e84dee607d18edfde39"><div class="ttname"><a href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a></div><div class="ttdeci">PSERVERINFO gpsi</div><div class="ttdef"><b>Definition:</b> <a href="a00020_source.html#l00039">clglobal.c:39</a></div></div>
<div class="ttc" id="aa00095_html_a354d0b10d14d160ef0992050ee5d9a3a"><div class="ttname"><a href="a00095.html#a354d0b10d14d160ef0992050ee5d9a3a">DWordSkipSz</a></div><div class="ttdeci">PBYTE DWordSkipSz(UTCHAR *lpsz)</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00043">dlgbegin.c:43</a></div></div>
<div class="ttc" id="aa02641_html_a5de2e9defa2304d909b863ca58eb9601"><div class="ttname"><a href="a02641.html#a5de2e9defa2304d909b863ca58eb9601">_DLG::cyChar</a></div><div class="ttdeci">int cyChar</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02150">user.h:2150</a></div></div>
<div class="ttc" id="aa00101_html_aea932f0ca7b1107d7bb891c305ebf653"><div class="ttname"><a href="a00101.html#aea932f0ca7b1107d7bb891c305ebf653">DlgSetFocus</a></div><div class="ttdeci">void DlgSetFocus(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00101_source.html#l00140">dlgmgr.c:140</a></div></div>
<div class="ttc" id="aa00095_html_acc54a184a44db7a191bcdb76e9be7378"><div class="ttname"><a href="a00095.html#acc54a184a44db7a191bcdb76e9be7378">CD_USERFONT</a></div><div class="ttdeci">#define CD_USERFONT</div><div class="ttdef"><b>Definition:</b> <a href="a00095_source.html#l00158">dlgbegin.c:158</a></div></div>
<div class="ttc" id="aa02457_html"><div class="ttname"><a href="a02457.html">_LARGE_UNICODE_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00280">user.h:280</a></div></div>
<div class="ttc" id="aa02513_html_a481a03e7eb24994f1eca28391f9b7c77"><div class="ttname"><a href="a02513.html#a481a03e7eb24994f1eca28391f9b7c77">tagSERVERINFO::cySysFontChar</a></div><div class="ttdeci">int cySysFontChar</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01014">user.h:1014</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_885cc87fac2d91e269af0a5a959fa5f6.html">E:</a></li><li class="navelem"><a class="el" href="dir_4e091ed8704426a7a4980368ba259fde.html">git</a></li><li class="navelem"><a class="el" href="dir_cd70cb5eb491250157f2d55d3ff4b13e.html">backup</a></li><li class="navelem"><a class="el" href="dir_ba2b673b566ba104b956abdc6dec0552.html">org</a></li><li class="navelem"><a class="el" href="dir_5bb0003d7907b45051943541418399f5.html">ntuser</a></li><li class="navelem"><a class="el" href="dir_caf01b281dbc7d7ffe410ecf117b6142.html">client</a></li><li class="navelem"><a class="el" href="a00095.html">dlgbegin.c</a></li>
<li class="footer">制作者
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>
HTML
1
https://gitee.com/cbwang505/win32k.git
git@gitee.com:cbwang505/win32k.git
cbwang505
win32k
win32k
master

搜索帮助