2570 lines
124 KiB
HTML
2570 lines
124 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<style>
|
||
<!--
|
||
BODY {font-family : Verdana; font-size:10pt; }
|
||
.xml { font-family: Courier New; font-size: 10 pt;
|
||
background-color: #C0C0C0; color: #000000; line-spacing: 0; display:block;
|
||
word-spacing: 0; margin-left: 10px; margin-right: 0;
|
||
margin-top: 0; margin-bottom: 0 }
|
||
|
||
.QML { font-family: Courier New; font-size: 10 pt;
|
||
background-color: #C0C0C0; color: #000000; line-spacing: 0; display:block;
|
||
word-spacing: 0; margin-left: 10px; margin-right: 0;
|
||
margin-top: 0; margin-bottom: 0 }
|
||
.UI { font-family:Tahoma; font-size:10pt; line-spacing: 0; display:block;
|
||
margin-right:10px; }
|
||
|
||
TABLE { font-family:Tahoma; font-size:10pt; margin-left:20px }
|
||
THEAD { background-color: black; color: white; font-weight:bold}
|
||
|
||
-->
|
||
</style>
|
||
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
|
||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||
<title>RCML</title>
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<h2>RCML <span style="font-size:10pt">: RC Markup Language</span></h2>
|
||
<table width="100%">
|
||
<tr>
|
||
<td>Program Manager Alias</td>
|
||
<td width="444"><a href="mailto:felixa">markcarr</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Developer Alias</td>
|
||
<td width="444"><a href="mailto:felixa">FelixA</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Test Reviewer (if appropriate)</td>
|
||
<td width="444"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td>Technical Editor (if appropriate)</td>
|
||
<td width="444"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td>Title</td>
|
||
<td width="444">RCML</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Filename</td>
|
||
<td width="444">RCML</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Version</td>
|
||
<td width="444">1.0</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Team/Group</td>
|
||
<td width="444">Apps+ as part of Win+</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Feature Area</td>
|
||
<td width="444">UI Presentation</td>
|
||
</tr>
|
||
<tr>
|
||
<td>For internal user only, or OK for external distribution</td>
|
||
<td width="444">Internal Use.</td>
|
||
</tr>
|
||
</table>
|
||
<h3 align="left">Contents</h3>
|
||
<div align="left">
|
||
<table width="60%">
|
||
<tr>
|
||
<td valign="top" width="111" nowrap><a href="#Summary">Summary</a><br>
|
||
<a href="#Goals">Design Goals</a><br>
|
||
<a href="#Scenario">File Definition</a><br>
|
||
<a href="#Design">Rendering<br>
|
||
</a><a href="#Data-Binding">Data-Binding</a><br>
|
||
<a href="#Usage">Usage</a><br>
|
||
</td>
|
||
<td valign="top" width="143" nowrap><a href="#IssueList">Open Issues</a><br>
|
||
<a href="#MoreInfo">For More Information</a><br>
|
||
<a href="#ChangeHistory">Change History</a><br>
|
||
<a href="#Appendix">Appendices</a><br>
|
||
<a href="#Testing">Testing</a><br>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<h5><a name="Summary">Summary</a></h5>
|
||
<p>RCML is a new resource file format, that is designed to provide access to
|
||
more Win32 UI features than existing RC files. In addition to the RC file
|
||
format, there is an enhance version of DialogBox that works hand in hand with
|
||
the RCML file to make use of the enhanced data in the RCML file.</p>
|
||
<h5><a name="Goals">Design Goals</a></h5>
|
||
<p>RCML exposes current technology used in Win32 applications today, which
|
||
currently are underused or require menial coding efforts to make use of, here
|
||
are a list of examples / deficiencies.</p>
|
||
<ol>
|
||
<li>The upper and lower bound of the slider cannot be set in the RC file.</li>
|
||
<li>The contents of the list box are not specifiable in the RC file.</li>
|
||
<li>The contents of the combo box are not specifiable in the RC file.</li>
|
||
<li>Only BMP and ICO file formats are supported by statics.</li>
|
||
<li>There is no relative positioning of controls, only absolute positioning.</li>
|
||
<li>There is no exposure of fonts and colors on a per control basis.</li>
|
||
<li>There is no sound support (sonnificiation) of UI in dialogs.</li>
|
||
<li>There is no HTML <b>like</b> support in the static control (e.g. links).</li>
|
||
</ol>
|
||
<p>In addition it is a goal that the existing DialogProc can be re-used, as is,
|
||
with no alterations.</p>
|
||
<p>There will be a tool provided that will convert existing (static) dialogs
|
||
into RCML file format.</p>
|
||
<p>Leveraging new features require minimal change to the RCML file, and where
|
||
possible will resemble HTML like syntax (e.g. STYLE elements).</p>
|
||
<p>The resulting RCML file will then be bound back into the resources for the
|
||
application, and used/referenced like any other RC file format. This allows the
|
||
RC dialogs to participate in the whole RC file (including access to ICONS, BMPs
|
||
etc).</p>
|
||
<p>The file format will be extensible, but any elements not understood by the
|
||
loader will be skipped in their entirety. This allows other applications to
|
||
inject elements into the RCML stream for their own private use. Access to these
|
||
skipped elements may be provided at runtime through the XMLDialogProc.</p>
|
||
<h5><a name="FileDefinition">File Definition</a></h5>
|
||
<p>The file definition will support all existing Dialog resources, by simply
|
||
exposing all the current properties as properties on the CONTROL element. Higher
|
||
level elements will be substituted where applicable (e.g. <BUTTON> rather
|
||
than <CONTROL CLASS="BUTTON" STYLE=xxxx SYLTEEX=yyyy>).</p>
|
||
<p>Elements support so far:</p>
|
||
<blockquote>
|
||
<ul>
|
||
<li><a href="#CONTROL">Control</a></li>
|
||
<li><a href="#d">Dialog</a></li>
|
||
<li><a href="#e">Edit</a></li>
|
||
<li><a href="#LABEL">Static</a></li>
|
||
<li><a href="#bu">Button</a></li>
|
||
<li><a href="#CHECKBOX">Check Box</a></li>
|
||
<li><a href="#gr">Groupbox</a></li>
|
||
<li><a href="#lo">Location</a></li>
|
||
<li><a href="#st">Style</a></li>
|
||
</ul>
|
||
</blockquote>
|
||
<h6><a name="CONTROL">CONTROL</a></h6>
|
||
<p>Control is the base element for specifying the type location size and style
|
||
of windows controls. This is the base element for all higher level controls.</p>
|
||
<p>ATTRIBUTES : ID CLASS TEXT WIDTH HEIGHT X Y STYLE WINDOWSTYLE STYLEEX <br>
|
||
ELEMENTS : LOCATION STYLE HELP</p>
|
||
<ul>
|
||
<li>ID<br>
|
||
Unique identifier for the control. These should be unique, but currrently
|
||
are not.</li>
|
||
<li>CLASS <br>
|
||
The windows class for the control (passed to CreateWindow) it is assumed
|
||
(currently) that the class is registered. If you use a standard class, e.g.
|
||
"BUTTON" "STATIC" "EDIT" you can use those
|
||
element names instead, see below.</li>
|
||
<li>TEXT <br>
|
||
The text for the control passed to CreateWindow - not supported by all
|
||
controls, ignored.</li>
|
||
<li>WIDTH <br>
|
||
The width of the control (in DLUs)</li>
|
||
<li>HEIGHT<br>
|
||
The height of the control (in DLUs)</li>
|
||
<li>X<br>
|
||
The X location of the control (in DLUs).</li>
|
||
<li>Y<br>
|
||
The Y location of the control (in DLUs).</li>
|
||
<li>STYLE<br>
|
||
The STYLE for the control. A 16 bit value passed to the create window. Used
|
||
in conjunction with WINDOWSTYLE.</li>
|
||
<li>STYLEEX<br>
|
||
The extended styles for the control - passed to the create window.</li>
|
||
<li>WINDOWSTYLE<br>
|
||
Technically the high WORD of the STYLE DWORD is all to do with window
|
||
styles, the most common are WS_VISIBLE | WS_CHILD | WS_TABSTOP = 0x5001. The
|
||
specialized control elements default to these, and thus WINDOWSTYLE is not
|
||
required.</li>
|
||
<li>RELATIVE : YES/NO or ID<br>
|
||
If YES, then the information in the LOCATION element is used to specify the
|
||
missing X,Y, WIDTH, HEIGHT attributes.<br>
|
||
A control ID can also be specified, making the construction of tables
|
||
easier.</li>
|
||
</ul>
|
||
<h6><a name="DIALOG">DIALOG</a></h6>
|
||
<p>The toplevel element, derives from CONTOL.</p>
|
||
<p>ATTRIBUTES : TITLE FONT FONTSIZE RESIZE (see also CONTROL)<br>
|
||
ELEMENTS : STYLE CONTROL BUTTON EDIT LIST LABEL </p>
|
||
<ul>
|
||
<li>TITLE<br>
|
||
The caption for the dialog.</li>
|
||
<li>FONT<br>
|
||
The name of the font used in the dialog.</li>
|
||
<li>FONTSIZE<br>
|
||
The size of the font used in the dialog.</li>
|
||
<li>RESIZE : AUTOMATIC / DIRECTED<br>
|
||
Dialogs can be made to resize automatically. Setting RESIZE to AUTOMATIC
|
||
invokes a limited set of pre-defined rules about which controls can resize
|
||
and in which directions. If you determine that these heuristics do not work
|
||
for a particular control, use the LOCATION element to specify the control's
|
||
characteristics.<br>
|
||
Setting RESIZE to DIRECTED turns off the AUTOMATIC rules and relies solely
|
||
upon the information provided in the LOCATION elements.</li>
|
||
</ul>
|
||
<h6><a name="BUTTON">BUTTON</a></h6>
|
||
<p>A push button. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : DEFPUSHBUTTON<br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>DEFPUSHBUTTON : YES/NO<br>
|
||
Changes the style bits on the button to be def-push style.<br>
|
||
</li>
|
||
<li>WINDOWSTYLE : defaults to 0x5001<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "BUTTON"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
<li>WIDTH : defaults to 50</li>
|
||
<li>HEIGHT : defaults to 14</li>
|
||
</ul>
|
||
<h6><a name="CHECKBOX">CHECKBOX</a></h6>
|
||
<p>A check button. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <a href="#vis">(see also control)</a><br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5001<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "BUTTON"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
<li>WIDTH : no default</li>
|
||
<li>HEIGHT : 10</li>
|
||
</ul>
|
||
<h6><a name="EDIT">EDIT</a></h6>
|
||
<p>An edit control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : CLASSIFICATION LENGTH <a href="#vis">(see also control)</a><br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>CLASSIFICATION : one of "UPPERCASE" "LOWERCASE"
|
||
"NUMBER" "FILE" "URL" "EMAIL"
|
||
"DATE" "TIME" "CURRENCY"<br>
|
||
The classifications are used to 'hint' to the useage of the control. As
|
||
such, a classification of FILE will ensure that the edit control becomes a
|
||
drop target and uses available features of the platform (such as
|
||
AutoComplete).</li>
|
||
<li>LENGTH<br>
|
||
The maximum number of characters that can be entered.<br>
|
||
</li>
|
||
<li>WINDOWSTYLE : defaults to 0x5081<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "EDIT"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
<li>WIDTH : no default</li>
|
||
<li>HEIGHT : default 14</li>
|
||
</ul>
|
||
<h6><a name="GROUPBOX">GROUPBOX</a></h6>
|
||
<p>A GroupBox control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>WINDOWSTYLE : defaults to 0x5000<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "BUTTON"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="LABEL">LABEL</a></h6>
|
||
<p>A Static / Label control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "STATIC"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="SPINNER">SPINNER</a></h6>
|
||
<p>A Spinner (<b>msctls_updown32)</b> control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "msctls_updown32"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="SLIDER">SLIDER</a></h6>
|
||
<p>A Slider (<b>msctls_trackbar32</b>) control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "msctls_trackbar32"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="PROGRESS">PROGRESS</a></h6>
|
||
<p>A progressbar (<b>msctls_progress32</b>) control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "msctls_progress32"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="COMBOBOX">COMBOBOX</a></h6>
|
||
<p>A combobox (<b>COMBO</b>) control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "msctls_progress32"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="LISTBOX">LISTBOX</a></h6>
|
||
<p>A combobox (<b>COMBO</b>) control. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "msctls_progress32"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="LISTVIEW">LISTVIEW</a></h6>
|
||
<p>A more complex version of LISTBOX (<b>SysListView32)</b>. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "SysListView32"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="IMAGE">IMAGE</a></h6>
|
||
<p>A control capable of displaying an image. Expect to support GIF JPEG PNG and
|
||
Alpha levels. See control for more attributes / elements.</p>
|
||
<p>ATTRIBUTE : <br>
|
||
ELEMENTS : <a href="#vis">(see control)</a></p>
|
||
<ul>
|
||
<li>STYLE : defaults to 0x5002<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>STYLEEX : defaults to 0x04<br>
|
||
Style attribute is not required, button defaults this value to the most
|
||
common value.</li>
|
||
<li>CLASS : defaults to "???"<br>
|
||
Class attribute is not required, button defaults this value to the most
|
||
common value, it is used if specified.</li>
|
||
</ul>
|
||
<h6><a name="HELP">HELP</a></h6>
|
||
<p>This element contains all manner of additional help related to the control,
|
||
including "TOOLTIP" "BALLOONTIP" "CONTEXT"</p>
|
||
<p>ATTRIBUTE : TOOLTIP BALLOONTIP CONTEXT<br>
|
||
ELEMENTS : </p>
|
||
<ul>
|
||
<li>TOOLTIP<br>
|
||
This is displayed using a tooltip type control when the use hovers over the
|
||
control.</li>
|
||
<li>BALLOONTIP<br>
|
||
This is displayed using a balloon tip type control when the user is having
|
||
difficulty interacting with the control (e.g. types a value that is out of
|
||
range).</li>
|
||
<li>CONTEXT<br>
|
||
This is displayed in a context help window when the user invokes context
|
||
help.</li>
|
||
</ul>
|
||
<p> </p>
|
||
<h6><a name="LOCATION">LOCATION</a></h6>
|
||
<p>The location element is used to specify a relative location for a control
|
||
(required RELATIVE=YES attribute on the parent element).</p>
|
||
<p>ATTRIBUTE : X Y WIDTH HEIGHT EDGE WIDER TALLER<br>
|
||
ELEMENTS : <a href="#vis"><NONE></a></p>
|
||
<ul>
|
||
<li>X : <br>
|
||
Horizontal delta added onto the previous controls X location.</li>
|
||
<li>Y <br>
|
||
Vertical delta added onto the previous controls Y location.</li>
|
||
<li>WIDTH<br>
|
||
Width delta, added onto the previous controls WIDTH.</li>
|
||
<li>HEIGHT <br>
|
||
Height delta added onto the previous controls HEIGHT.</li>
|
||
<li>EDGE : 0,1,2,3 4,5,6,7<br>
|
||
0-3 The corner of the previous control which the X and Y deltas are relative to. The corners are
|
||
numbered from the Top left corner in a clock-wise direction. <br>
|
||
4-7 The corner of the dialog itself which the X and Y deltas are. The corners are
|
||
numbered from the Top left corner in a clock-wise direction. </li>
|
||
<li>WIDER : YES / NO<br>
|
||
When using automatic or directed RESIZE capabilities on the dialog, the
|
||
horizontal resize nature of the individual controls can be altered using
|
||
this attribute.</li>
|
||
<li>TALLER : YES / NO<br>
|
||
When using automatic or directed RESIZE capabilities on the dialog, the
|
||
vertical resize nature of the individual controls can be altered using this
|
||
attribute.</li>
|
||
</ul>
|
||
<p>Example:</p>
|
||
<p class="xml"><BUTTON X=10 Y=10 WIDTH=40 HEIGHT=10 TEXT="OK"
|
||
ID="1"/></p>
|
||
<p class="xml"><BUTTON RELATIVE="YES" TEXT="Cancel"
|
||
ID="2"></p>
|
||
<p class="xml"> <LOCATION Y="+14"
|
||
EDGET="0"/></p>
|
||
<p class="xml"></BUTTON></p>
|
||
<p>This will produce two buttons one at (10,10) the other at (10,24). The width
|
||
and height of the Cancel button will be inherited from the OK button, and will
|
||
be 40 and 10 respectively. The buttons will 'move' in a group, so changing the
|
||
X=10 to X=120 will place BOTH buttons on the right hand edge of the dialog.</p>
|
||
<p>To obtain an 'intra' control spacing, the delta can be made from the bottom
|
||
left corner of the control.</p>
|
||
<p class="xml"><BUTTON X=10 Y=10 WIDTH=40 HEIGHT=10 TEXT="OK"
|
||
ID="1"/></p>
|
||
<p class="xml"><BUTTON RELATIVE="YES" TEXT="Cancel"
|
||
ID="2"></p>
|
||
<p class="xml"> <LOCATION Y="+4"
|
||
EDGET="3"/></p>
|
||
<p class="xml"></BUTTON></p>
|
||
<p>This ensures that there is always a gap of 4 DLUs between controls,
|
||
regardless of the height of the previous control.</p>
|
||
<h6><a name="STYLE">STYLE</a></h6>
|
||
<p>The style element is <i>similar</i> to the style element in HTML.</p>
|
||
<p>ATTRIBUTE : FONT-FAMILY FONT-SIZE FONT-STYLE FONT-WEGHT BACKGROUND-COLOR
|
||
COLOR<br>
|
||
ELEMENTS : <a href="#vis"><NONE></a></p>
|
||
<p>You should refer to the W3C documentation for the meaning of these
|
||
attributes. If the style element is added at the dialog level, all child
|
||
controls 'inherit' this style. HOWEVER if a child specifies its own STYLE
|
||
element, this overrides ALL the styles, there is no 'merging' of attributes.
|
||
This is work in progress.</p>
|
||
<h5><a name="MoreControls">More Controls</a></h5>
|
||
<ul>
|
||
<li>Slider</li>
|
||
<li>List</li>
|
||
<li>DropDown (editable and not)</li>
|
||
<li>Rectangle</li>
|
||
<li>Edge</li>
|
||
<li>Image :
|
||
<ul>
|
||
<li>Icon</li>
|
||
<li>BMP</li>
|
||
<li>GIF requires GDI+</li>
|
||
<li>JPEG requires GDI+</li>
|
||
</ul>
|
||
</li>
|
||
<li>Animation : DShow support</li>
|
||
<li>ActiveX controls</li>
|
||
</ul>
|
||
<h6>Enhancements to Existing Controls</h6>
|
||
<ul>
|
||
<li>Base Control
|
||
<ul>
|
||
<li>Tooltips</li>
|
||
<li>Balloontips</li>
|
||
<li>Sonnification</li>
|
||
</ul>
|
||
</li>
|
||
<li>Edit controls.
|
||
<ul>
|
||
<li>Passwords</li>
|
||
<li>Numbers</li>
|
||
<li>Masked Edit?</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<h6>Enhancement Elements.</h6>
|
||
<p>In addition to Style and Location</p>
|
||
<ul>
|
||
<li>Sound (DShow)</li>
|
||
<li>Alpha support (requires GDI+)</li>
|
||
<li>BaloonTips and Tooltips (perhaps added to the base control?)</li>
|
||
</ul>
|
||
<h5><a name="IssueList">Open Issues</a></h5>
|
||
<p>Default Style for control classes, e.g.</p>
|
||
<p class="xml"><STYLE ID="BUTTON" COLOR="LightBlue" /></p>
|
||
<p class="xml"><BUTTON TEXT="Cancel" ID="2" .../></p>
|
||
<p class="xml"></BUTTON></p>
|
||
<p>Results in a LightBlue colored button.</p>
|
||
<p>Default Style for control classes, e.g.</p>
|
||
<p class="xml"><STYLE ID="BUTTON" COLOR="LightBlue" /></p>
|
||
<p class="xml"><STYLE ID="OKBUTTON" COLOR="Red" /></p>
|
||
<p class="xml"><BUTTON TEXT="OK" ID="1"
|
||
STYLEID="OKBUTTON"/></p>
|
||
<p class="xml"></BUTTON></p>
|
||
<p>Would result in a <font color="#FF0000">Red</font> OK button, but all other
|
||
buttons would be <font color="#0000FF">LightBlue</font>.</p>
|
||
<h5><a name="MoreInfo">For More Information</a></h5>
|
||
<p>Here is the set of information provide about their style bits:</p>
|
||
<font face="verdana,arial,helvetica" size="2">
|
||
<h2><a name="_win32_button_styles"></a>Button Styles</h2>
|
||
<p>If you create a button by specifying the BUTTON class with the <a href="windows_33jr.htm"><b>CreateWindow</b></a>
|
||
or <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a> function, you can
|
||
specify a combination of the button styles in the following table.</p>
|
||
<table cellPadding="0" cellSpacing="0">
|
||
<tbody>
|
||
<tr vAlign="top">
|
||
<th align="left" width="38%">Style</th>
|
||
<th align="left" width="62%"><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</th>
|
||
<th align="left" width="62%">Meaning</th>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_3STATE</td>
|
||
<td width="62%">TRISTATE="YES"</td>
|
||
<td width="62%">Creates a button that is the same as a check box, except
|
||
that the box can be grayed as well as checked or cleared. Use the grayed
|
||
state to show that the state of the check box is not determined.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_AUTO3STATE</td>
|
||
<td width="62%">implied by TRISTATE="YES"</td>
|
||
<td width="62%">Creates a button that is the same as a three-state check
|
||
box, except that the box changes its state when the user selects it. The
|
||
state cycles through checked, grayed, and cleared.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_AUTOCHECKBOX</td>
|
||
<td width="62%">CHECKBOX is by default, autocheckbox.</td>
|
||
<td width="62%">Creates a button that is the same as a check box, except
|
||
that the check state automatically toggles between checked and cleared
|
||
each time the user selects the check box.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_AUTORADIOBUTTON</td>
|
||
<td width="62%">RADIODUTTON is by default, auto.</td>
|
||
<td width="62%">Creates a button that is the same as a radio button,
|
||
except that when the user selects it, The system automatically sets the
|
||
button's check state to checked and automatically sets the check state
|
||
for all other buttons in the same group to cleared.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_CHECKBOX</td>
|
||
<td width="62%"><CHECKBOX></td>
|
||
<td width="62%">Creates a small, empty check box with text. By default,
|
||
the text is displayed to the right of the check box. To display the text
|
||
to the left of the check box, combine this flag with the BS_LEFTTEXT
|
||
style (or with the equivalent BS_RIGHTBUTTON style).</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_DEFPUSHBUTTON</td>
|
||
<td width="62%">DEFPUSH="YES"</td>
|
||
<td width="62%">Creates a push button that behaves like a BS_PUSHBUTTON
|
||
style button, but also has a heavy black border. If the button is in a
|
||
dialog box, the user can select the button by pressing the ENTER key,
|
||
even when the button does not have the input focus. This style is useful
|
||
for enabling the user to quickly select the most likely (default)
|
||
option.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_GROUPBOX</td>
|
||
<td width="62%"><GROUP></td>
|
||
<td width="62%">Creates a rectangle in which other controls can be
|
||
grouped. Any text associated with this style is displayed in the
|
||
rectangle's upper left corner.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_LEFTTEXT</td>
|
||
<td width="62%">By default.</td>
|
||
<td width="62%">Places text on the left side of the radio button or check
|
||
box when combined with a radio button or check box style. Same as the
|
||
BS_RIGHTBUTTON style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_OWNERDRAW</td>
|
||
<td width="62%"></td>
|
||
<td width="62%">Creates an owner-drawn button. The owner window receives a
|
||
<a href="combobox_85d9.htm">WM_MEASUREITEM</a> message when the button
|
||
is created and a <a href="combobox_3sx9.htm">WM_DRAWITEM</a> message
|
||
when a visual aspect of the button has changed. Do not combine the
|
||
BS_OWNERDRAW style with any other button styles.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_PUSHBUTTON</td>
|
||
<td width="62%"><BUTTON></td>
|
||
<td width="62%">Creates a push button that posts a <a href="newmenus_8wh0.htm">WM_COMMAND</a>
|
||
message to the owner window when the user selects the button.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_RADIOBUTTON</td>
|
||
<td width="62%"><RADIOBUTTON></td>
|
||
<td width="62%">Creates a small circle with text. By default, the text is
|
||
displayed to the right of the circle. To display the text to the left of
|
||
the circle, combine this flag with the BS_LEFTTEXT style (or with the
|
||
equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of
|
||
related, but mutually exclusive choices.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_USERBUTTON</td>
|
||
<td width="62%">Obsolete.</td>
|
||
<td width="62%">Obsolete, but provided for compatibility with 16-bit
|
||
versions of Windows. Win32-based applications should use BS_OWNERDRAW
|
||
instead.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_BITMAP</td>
|
||
<td width="62%">IMAGE="..."</td>
|
||
<td width="62%">Specifies that the button displays a bitmap.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_BOTTOM</td>
|
||
<td width="62%">Use VERTICAL-ALIGN="BOTTOM"</td>
|
||
<td width="62%">Places text at the bottom of the button rectangle.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_CENTER</td>
|
||
<td width="62%">Use TEXT-ALIGN="JUSTIFY"</td>
|
||
<td width="62%">Centers text horizontally in the button rectangle.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_ICON</td>
|
||
<td width="62%">IMAGE="..."</td>
|
||
<td width="62%">Specifies that the button displays an icon.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_FLAT</td>
|
||
<td width="62%">Use BORDER-STYLE="FLAT"</td>
|
||
<td width="62%">Specifies that the button is two-dimensional; it does not
|
||
use the default shading to create a 3-D image.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_LEFT</td>
|
||
<td width="62%">Use TEXT-ALIGN="LEFT"</td>
|
||
<td width="62%">Left-justifies the text in the button rectangle. However,
|
||
if the button is a check box or radio button that does not have the
|
||
BS_RIGHTBUTTON style, the text is left justified on the right side of
|
||
the check box or radio button.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_MULTILINE</td>
|
||
<td width="62%">MULTI-LINE="YES"</td>
|
||
<td width="62%">Wraps the button text to multiple lines if the text string
|
||
is too long to fit on a single line in the button rectangle.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_NOTIFY</td>
|
||
<td width="62%">
|
||
</td>
|
||
<td width="62%">Enables a button to send BN_KILLFOCUS and BN_SETFOCUS
|
||
notification messages to its parent window.
|
||
<p>Note that buttons send the BN_CLICKED notification message regardless
|
||
of whether it has this style. To get BN_DBLCLK notification messages,
|
||
the button must have the BS_RADIOBUTTON or BS_OWNERDRAW style.</p>
|
||
</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_PUSHLIKE</td>
|
||
<td width="62%"></td>
|
||
<td width="62%">Makes a button (such as a check box, three-state check
|
||
box, or radio button) look and act like a push button. The button looks
|
||
raised when it isn't pushed or checked, and sunken when it is pushed or
|
||
checked.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_RIGHT</td>
|
||
<td width="62%">Use TEXT-ALIGN="RIGHT"</td>
|
||
<td width="62%">Right-justifies text in the button rectangle. However, if
|
||
the button is a check box or radio button that does not have the
|
||
BS_RIGHTBUTTON style, the text is right justified on the right side of
|
||
the check box or radio button.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_RIGHTBUTTON</td>
|
||
<td width="62%"></td>
|
||
<td width="62%">Positions a radio button's circle or a check box's square
|
||
on the right side of the button rectangle. Same as the BS_LEFTTEXT
|
||
style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_TEXT</td>
|
||
<td width="62%">Default.</td>
|
||
<td width="62%">Specifies that the button displays text.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_TOP</td>
|
||
<td width="62%">Use
|
||
<font face="verdana,arial,helvetica" size="2">
|
||
VERTICAL-ALIGN</font>="TOP"</td>
|
||
<td width="62%">Places text at the top of the button rectangle.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="38%">BS_VCENTER</td>
|
||
<td width="62%">Use VERTICAL-ALIGN="center"</td>
|
||
<td width="62%">Places text in the middle (vertically) of the button
|
||
rectangle.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<font color="#228b22" size="1"><br>
|
||
<br>
|
||
Built on: Monday, November 16, 1998</font>
|
||
<h2><a name="_win32_combo_box_styles"></a>Combo Box Styles</h2>
|
||
<p>To create a combo box using the <a href="windows_33jr.htm"><b>CreateWindow</b></a>
|
||
or <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a> function, specify the
|
||
COMBOBOX class, appropriate window style constants, and a combination of the
|
||
following combo box styles.</p>
|
||
<table cellPadding="0" cellSpacing="0">
|
||
<tbody>
|
||
<tr vAlign="top">
|
||
<th align="left" width="44%">Style</th>
|
||
<th align="left" width="56%">RCML</th>
|
||
<th align="left" width="56%">Description</th>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_AUTOHSCROLL</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Automatically scrolls the text in an edit control to the
|
||
right when the user types a character at the end of the line. If this
|
||
style is not set, only text that fits within the rectangular boundary is
|
||
allowed.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_DISABLENOSCROLL</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Shows a disabled vertical scroll bar in the list box when
|
||
the box does not contain enough items to scroll. Without this style, the
|
||
scroll bar is hidden when the list box does not contain enough items.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_DROPDOWN</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Similar to CBS_SIMPLE, except that the list box is not
|
||
displayed unless the user selects an icon next to the edit control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_DROPDOWNLIST</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Similar to CBS_DROPDOWN, except that the edit control is
|
||
replaced by a static text item that displays the current selection in
|
||
the list box.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_HASSTRINGS</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Specifies that an owner-drawn combo box contains items
|
||
consisting of strings. The combo box maintains the memory and address
|
||
for the strings so the application can use the <a href="combobox_6bjo.htm">CB_GETLBTEXT</a>
|
||
message to retrieve the text for a particular item.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_LOWERCASE</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Converts to lowercase all text in both the selection field
|
||
and the list.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_NOINTEGRALHEIGHT</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Specifies that the size of the combo box is exactly the
|
||
size specified by the application when it created the combo box.
|
||
Normally, the system sizes a combo box so that it does not display
|
||
partial items.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_OEMCONVERT</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Converts text entered in the combo box edit control from
|
||
the Windows character set to the OEM character set and then back to the
|
||
Windows set. This ensures proper character conversion when the
|
||
application calls the <a href="JavaScript:hhobj_1.Click()"><b>CharToOem</b></a>
|
||
function to convert a Windows string in the combo box to OEM characters.
|
||
This style is most useful for combo boxes that contain file names and
|
||
applies only to combo boxes created with the CBS_SIMPLE or CBS_DROPDOWN
|
||
style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_OWNERDRAWFIXED</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Specifies that the owner of the list box is responsible
|
||
for drawing its contents and that the items in the list box are all the
|
||
same height. The owner window receives a <a href="combobox_85d9.htm">WM_MEASUREITEM</a>
|
||
message when the combo box is created and a <a href="combobox_3sx9.htm">WM_DRAWITEM</a>
|
||
message when a visual aspect of the combo box has changed.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_OWNERDRAWVARIABLE</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Specifies that the owner of the list box is responsible
|
||
for drawing its contents and that the items in the list box are variable
|
||
in height. The owner window receives a WM_MEASUREITEM message for each
|
||
item in the combo box when you create the combo box and a WM_DRAWITEM
|
||
message when a visual aspect of the combo box has changed.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_SIMPLE</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Displays the list box at all times. The current selection
|
||
in the list box is displayed in the edit control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_SORT</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Automatically sorts strings added to the list box.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="44%">CBS_UPPERCASE</td>
|
||
<td width="56%"></td>
|
||
<td width="56%">Converts to uppercase all text in both the selection field
|
||
and the list.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
<font color="#228b22" size="1">Built on: Monday, November 16, 1998</font>
|
||
<h2><a name="_win32_edit_control_styles"></a>Edit Control Styles</h2>
|
||
<p>To create an edit control using the <a href="windows_33jr.htm"><b>CreateWindow</b></a>
|
||
or <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a> function, specify the
|
||
EDIT class, appropriate window style constants, and a combination of the
|
||
following edit control styles.</p>
|
||
<table cellPadding="0" cellSpacing="0">
|
||
<tbody>
|
||
<tr vAlign="top">
|
||
<th align="left" width="31%">Style</th>
|
||
<th align="left" width="69%"><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</th>
|
||
<th align="left" width="69%">Meaning</th>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_AUTOHSCROLL</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Automatically scrolls text to the right by 10 characters
|
||
when the user types a character at the end of the line. When the user
|
||
presses the ENTER key, the control scrolls all text back to position
|
||
zero.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_AUTOVSCROLL</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Automatically scrolls text up one page when the user
|
||
presses the ENTER key on the last line.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_CENTER</td>
|
||
<td width="69%">
|
||
</td>
|
||
<td width="69%"><b>Windows NT 5.0 and later; Windows 98:</b> Centers text
|
||
in a single-line or multiline edit control.
|
||
<p><b>Earlier versions of Windows and Windows NT:</b> Centers text in a
|
||
multiline edit control.</p>
|
||
</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_LEFT</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Left aligns text.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_LOWERCASE</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Converts all characters to lowercase as they are typed
|
||
into the edit control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_MULTILINE</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Designates a multiline edit control. The default is
|
||
single-line edit control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td rowSpan="4" width="31%"> </td>
|
||
<td width="69%"></td>
|
||
<td width="69%">When the multiline edit control is in a dialog box, the
|
||
default response to pressing the ENTER key is to activate the default
|
||
button. To use the ENTER key as a carriage return, use the ES_WANTRETURN
|
||
style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="69%"></td>
|
||
<td width="69%">When the multiline edit control is not in a dialog box and
|
||
the ES_AUTOVSCROLL style is specified, the edit control shows as many
|
||
lines as possible and scrolls vertically when the user presses the ENTER
|
||
key. If you do not specify ES_AUTOVSCROLL, the edit control shows as
|
||
many lines as possible and beeps if the user presses the ENTER key when
|
||
no more lines can be displayed.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="69%"></td>
|
||
<td width="69%">If you specify the ES_AUTOHSCROLL style, the multiline
|
||
edit control automatically scrolls horizontally when the caret goes past
|
||
the right edge of the control. To start a new line, the user must press
|
||
the ENTER key. If you do not specify ES_AUTOHSCROLL, the control
|
||
automatically wraps words to the beginning of the next line when
|
||
necessary. A new line is also started if the user presses the ENTER key.
|
||
The window size determines the position of the wordwrap. If the window
|
||
size changes, the wordwrapping position changes and the text is
|
||
redisplayed.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="69%"></td>
|
||
<td width="69%">Multiline edit controls can have scroll bars. An edit
|
||
control with scroll bars processes its own scroll bar messages. Note
|
||
that edit controls without scroll bars scroll as described in the
|
||
previous paragraphs and process any scroll messages sent by the parent
|
||
window.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_NOHIDESEL</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Negates the default behavior for an edit control. The
|
||
default behavior hides the selection when the control loses the input
|
||
focus and inverts the selection when the control receives the input
|
||
focus. If you specify ES_NOHIDESEL, the selected text is inverted, even
|
||
if the control does not have the focus.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_NUMBER</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Allows only digits to be entered into the edit control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_OEMCONVERT</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Converts text entered in the edit control. The text is
|
||
converted from the Windows character set to the OEM character set and
|
||
then back to the Windows set. This ensures proper character conversion
|
||
when the application calls the <a href="JavaScript:hhobj_1.Click()"><b>CharToOem</b></a>
|
||
function to convert a Windows string in the edit control to OEM
|
||
characters. This style is most useful for edit controls that contain
|
||
filenames.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_PASSWORD</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Displays an asterisk (*) for each character typed into the
|
||
edit control. You can use the EM_SETPASSWORDCHAR message to change the
|
||
character that is displayed. The ES_PASSWORD style is valid only for
|
||
single-line edit controls.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_READONLY</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Prevents the user from typing or editing text in the edit
|
||
control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_RIGHT</td>
|
||
<td width="69%">
|
||
</td>
|
||
<td width="69%"><b>Windows NT 5.0 and later; Windows 98:</b> Right aligns
|
||
text in a single-line or multiline edit control.
|
||
<p><b>Earlier versions of Windows and Windows NT:</b> Right aligns text
|
||
in a multiline edit control.</p>
|
||
</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_UPPERCASE</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Converts all characters to uppercase as they are typed
|
||
into the edit control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="31%">ES_WANTRETURN</td>
|
||
<td width="69%"></td>
|
||
<td width="69%">Specifies that a carriage return be inserted when the user
|
||
presses the ENTER key while entering text into a multiline edit control
|
||
in a dialog box. If you do not specify this style, pressing the ENTER
|
||
key has the same effect as pressing the dialog box's default push
|
||
button. This style has no effect on a single-line edit control.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
<font color="#228b22" size="1">Built on: Monday, November 16, 1998</font>
|
||
<h2><a name="_win32_list_box_styles"></a>List Box Styles</h2>
|
||
<p>To create a list box by using the <a href="windows_33jr.htm"><b>CreateWindow</b></a>
|
||
or <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a> function, use the
|
||
LISTBOX class, appropriate window style constants, and the following style
|
||
constants to define the list box.</p>
|
||
<table cellPadding="0" cellSpacing="0">
|
||
<tbody>
|
||
<tr vAlign="top">
|
||
<th align="left" width="41%">List box style</th>
|
||
<th align="left" width="59%"><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</th>
|
||
<th align="left" width="59%">Description</th>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_DISABLENOSCROLL</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Shows a disabled vertical scroll bar for the list box when
|
||
the box does not contain enough items to scroll. If you do not specify
|
||
this style, the scroll bar is hidden when the list box does not contain
|
||
enough items.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_EXTENDEDSEL</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Allows multiple items to be selected by using the SHIFT
|
||
key and the mouse or special key combinations.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_HASSTRINGS</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies that a list box contains items consisting of
|
||
strings. The list box maintains the memory and addresses for the strings
|
||
so that the application can use the <a href="listbox_6a9g.htm">LB_GETTEXT</a>
|
||
message to retrieve the text for a particular item. By default, all list
|
||
boxes except owner-drawn list boxes have this style. You can create an
|
||
owner-drawn list box either with or without this style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_MULTICOLUMN</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies a multicolumn list box that is scrolled
|
||
horizontally. The <a href="listbox_8hk8.htm">LB_SETCOLUMNWIDTH</a>
|
||
message sets the width of the columns.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_MULTIPLESEL</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Turns string selection on or off each time the user clicks
|
||
or double-clicks a string in the list box. The user can select any
|
||
number of strings.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_NODATA</td>
|
||
<td width="59%">
|
||
</td>
|
||
<td width="59%">Specifies a no-data list box. Specify this style when the
|
||
count of items in the list box will exceed one thousand. A no-data list
|
||
box must also have the LBS_OWNERDRAWFIXED style, but must not have the
|
||
LBS_SORT or LBS_HASSTRINGS style.
|
||
<p>A no-data list box resembles an owner-drawn list box except that it
|
||
contains no string or bitmap data for an item. Commands to add, insert,
|
||
or delete an item always ignore any given item data; requests to find a
|
||
string within the list box always fail. The system sends the <a href="combobox_3sx9.htm">WM_DRAWITEM</a>
|
||
message to the owner window when an item must be drawn. The <b>itemID</b>
|
||
member of the <a href="combobox_88s2.htm"><b>DRAWITEMSTRUCT</b></a>
|
||
structure passed with the WM_DRAWITEM message specifies the line number
|
||
of the item to be drawn. A no-data list box does not send a <a href="listbox_5dbh.htm">WM_DELETEITEM</a>
|
||
message.</p>
|
||
</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_NOINTEGRALHEIGHT</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies that the size of the list box is exactly the
|
||
size specified by the application when it created the list box.
|
||
Normally, the system sizes a list box so that the list box does not
|
||
display partial items.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_NOREDRAW</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies that the list box's appearance is not updated
|
||
when changes are made. You can change this style by sending a <a href="JavaScript:hhobj_1.Click()">WM_SETREDRAW</a>
|
||
message at any time.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_NOSEL</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies that the list box contains items that can be
|
||
viewed but not selected.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_NOTIFY</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Notifies the parent window with an input message whenever
|
||
the user clicks or double-clicks a string in the list box.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_OWNERDRAWFIXED</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies that the owner of the list box is responsible
|
||
for drawing its contents and that the items in the list box are the same
|
||
height. The owner window receives a <a href="combobox_85d9.htm">WM_MEASUREITEM</a>
|
||
message when the list box is created and a <a href="combobox_3sx9.htm">WM_DRAWITEM</a>
|
||
message when a visual aspect of the list box has changed.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_OWNERDRAWVARIABLE</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies that the owner of the list box is responsible
|
||
for drawing its contents and that the items in the list box are variable
|
||
in height. The owner window receives a WM_MEASUREITEM message for each
|
||
item in the combo box when the combo box is created and a WM_DRAWITEM
|
||
message when a visual aspect of the combo box has changed.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_SORT</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Sorts strings in the list box alphabetically.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_STANDARD</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Sorts strings in the list box alphabetically. The parent
|
||
window receives an input message whenever the user clicks or
|
||
double-clicks a string. The list box has borders on all sides.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_USETABSTOPS</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Enables a list box to recognize and expand tab characters
|
||
when drawing its strings. You can use the <a href="listbox_9bzn.htm">LB_SETTABSTOPS</a>
|
||
message to specify tab stop positions. The default tab positions are 32
|
||
dialog template units apart. Dialog template units are the
|
||
device-independent units used in dialog box templates. To convert
|
||
measurements from dialog template units to screen units (pixels), use
|
||
the <a href="dlgboxes_4hf8.htm"><b>MapDialogRect</b></a> function.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="41%">LBS_WANTKEYBOARDINPUT</td>
|
||
<td width="59%"></td>
|
||
<td width="59%">Specifies that the owner of the list box receives <a href="listbox_3o31.htm">WM_VKEYTOITEM</a>
|
||
messages whenever the user presses a key and the list box has the input
|
||
focus. This enables an application to perform special processing on the
|
||
keyboard input.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
<font color="#228b22" size="1"><br>
|
||
Built on: Monday, November 16, 1998</font>
|
||
<h2><a name="_win32_scroll_bar_control_styles"></a>Scroll Bar Control Styles</h2>
|
||
<p>To create a scroll bar control using the <a href="windows_33jr.htm"><b>CreateWindow</b></a>
|
||
or <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a> function specify the
|
||
SCROLLBAR class, appropriate window style constants, and a combination of the
|
||
following scroll bar control styles. Some of the styles create a scroll bar
|
||
control that uses a default width or height. However, you must always specify
|
||
the x- and y-coordinates and the other dimensions of the scroll bar when you
|
||
call <b>CreateWindow</b> or <b>CreateWindowEx</b>.</p>
|
||
<table cellPadding="0" cellSpacing="0">
|
||
<tbody>
|
||
<tr vAlign="top">
|
||
<th align="left" width="33%">Style</th>
|
||
<th align="left" width="67%"><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</th>
|
||
<th align="left" width="67%">Meaning</th>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_BOTTOMALIGN</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Aligns the bottom edge of the scroll bar with the bottom
|
||
edge of the rectangle defined by the <i>x</i>, <i>y</i>, <i>nWidth</i>,
|
||
and <i>nHeight</i> parameters of <b>CreateWindowEx</b> function. The
|
||
scroll bar has the default height for system scroll bars. Use this style
|
||
with the SBS_HORZ style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_HORZ</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Designates a horizontal scroll bar. If neither the
|
||
SBS_BOTTOMALIGN nor SBS_TOPALIGN style is specified, the scroll bar has
|
||
the height, width, and position specified by the <i>x</i>, <i>y</i>, <i>nWidth</i>,
|
||
and <i>nHeight</i> parameters of <b>CreateWindowEx</b>.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_LEFTALIGN</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Aligns the left edge of the scroll bar with the left edge
|
||
of the rectangle defined by the <i>x</i>, <i>y</i>, <i>nWidth</i>, and <i>nHeight</i>
|
||
parameters of <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a>. The
|
||
scroll bar has the default width for system scroll bars. Use this style
|
||
with the SBS_VERT style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_RIGHTALIGN</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Aligns the right edge of the scroll bar with the right
|
||
edge of the rectangle defined by the <i>x</i>, <i>y</i>, <i>nWidth</i>,
|
||
and <i>nHeight</i> parameters of <b>CreateWindowEx</b>. The scroll bar
|
||
has the default width for system scroll bars. Use this style with the
|
||
SBS_VERT style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_SIZEBOX</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Designates a size box. If you specify neither the
|
||
SBS_SIZEBOXBOTTOMRIGHTALIGN nor the SBS_SIZEBOXTOPLEFTALIGN style, the
|
||
size box has the height, width, and position specified by the <i>x</i>, <i>y</i>,
|
||
<i>nWidth</i>, and <i>nHeight</i> parameters of <b>CreateWindowEx</b>.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_SIZEBOXBOTTOMRIGHT<br>
|
||
ALIGN</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Aligns the lower right corner of the size box with the
|
||
lower right corner of the rectangle specified by the <i>x</i>, <i>y</i>,
|
||
<i>nWidth</i>, and <i>nHeight</i> parameters of <b>CreateWindowEx</b>.
|
||
The size box has the default size for system size boxes. Use this style
|
||
with the SBS_SIZEBOX style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_SIZEBOXTOPLEFTALIGN</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Aligns the upper left corner of the size box with the
|
||
upper left corner of the rectangle specified by the <i>x</i>, <i>y</i>, <i>nWidth</i>,
|
||
and <i>nHeight</i> parameters of <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a>.
|
||
The size box has the default size for system size boxes. Use this style
|
||
with the SBS_SIZEBOX style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_SIZEGRIP</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Same as SBS_SIZEBOX, but with a raised edge.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_TOPALIGN</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Aligns the top edge of the scroll bar with the top edge of
|
||
the rectangle defined by the <i>x</i>, <i>y</i>, <i>nWidth</i>, and <i>nHeight</i>
|
||
parameters of <b>CreateWindowEx</b>. The scroll bar has the default
|
||
height for system scroll bars. Use this style with the SBS_HORZ style.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="33%">SBS_VERT</td>
|
||
<td width="67%"></td>
|
||
<td width="67%">Designates a vertical scroll bar. If you specify neither
|
||
the SBS_RIGHTALIGN nor the SBS_LEFTALIGN style, the scroll bar has the
|
||
height, width, and position specified by the <i>x</i>, <i>y</i>, <i>nWidth</i>,
|
||
and <i>nHeight</i> parameters of <b>CreateWindowEx</b>.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
<font color="#228b22" size="1"><br>
|
||
Built on: Monday, November 16, 1998</font>
|
||
<h2>Static Control Styles</h2>
|
||
<p>To create a static control using the <a href="windows_33jr.htm"><b>CreateWindow</b></a>
|
||
or <a href="windows_1w6w.htm"><b>CreateWindowEx</b></a> function, specify the
|
||
STATIC class, appropriate window style constants, and a combination of the
|
||
following static control styles.</p>
|
||
<table cellPadding="0" cellSpacing="0">
|
||
<tbody>
|
||
<tr vAlign="top">
|
||
<th align="left" width="39%">Style</th>
|
||
<th align="left" width="61%"><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</th>
|
||
<th align="left" width="61%">Description</th>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_BITMAP</td>
|
||
<td width="61%"><IMAGE></td>
|
||
<td width="61%">Specifies a bitmap is to be displayed in the static
|
||
control. The given text is the name of a bitmap (not a filename) defined
|
||
elsewhere in the resource file. The style ignores the <i>nWidth</i> and <i>nHeight</i>
|
||
parameters; the control automatically sizes itself to accommodate the
|
||
bitmap.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_BLACKFRAME</td>
|
||
<td width="61%"><RECT> & <STYLE COLOR="BLACK" <font face="verdana,arial,helvetica" size="2">BORDER-STYLE</font>="SOLID"></td>
|
||
<td width="61%">Specifies a box with a frame drawn in the same color as
|
||
the window frames. This color is black in the default color scheme.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_BLACKRECT</td>
|
||
<td width="61%"><RECT <font face="verdana,arial,helvetica" size="2">FILL="YES"</font>>
|
||
& <STYLE COLOR="BLACK" <font face="verdana,arial,helvetica" size="2">BORDER-STYLE</font>="SOLID"></td>
|
||
<td width="61%">Specifies a rectangle filled with the current window frame
|
||
color. This color is black in the default color scheme.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_CENTER</td>
|
||
<td width="61%">TEXT-ALIGN="JUSTIFY"</td>
|
||
<td width="61%">Specifies a simple rectangle and centers the given text in
|
||
the rectangle. The text is formatted before it is displayed. Words that
|
||
extend past the end of a line are automatically wrapped to the beginning
|
||
of the next centered line. Words that are longer than the width of the
|
||
control are truncated.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_CENTERIMAGE</td>
|
||
<td width="61%">FILL-BACKGROUND="YES"</td>
|
||
<td width="61%">Specifies that, if the bitmap or icon is smaller than the
|
||
client area of the static control, the rest of the client area is filled
|
||
with the color of the pixel in the top left corner of the bitmap or
|
||
icon. If the static control contains a single line of text, the text is
|
||
centered vertically in the client area of the control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_ENDELLIPSIS or<br>
|
||
SS_PATHELLIPSIS</td>
|
||
<td width="61%">ELLIPSIS="END"
|
||
<p>ELLIPSIS="PATH"
|
||
</td>
|
||
<td width="61%"><b>Windows NT:</b> Replaces part of the given string with
|
||
ellipses, if necessary, so that the result fits in the specified
|
||
rectangle.
|
||
<p>You can specify SS_END_ELLIPSIS to replace characters at the end of
|
||
the string, or SS_PATHELLIPSIS to replace characters in the middle of
|
||
the string. If the string contains backslash (\) characters,
|
||
SS_PATHELLIPSIS preserves as much of the text after the last backslash
|
||
as possible.</p>
|
||
</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_ENHMETAFILE</td>
|
||
<td width="61%"><IMAGE ></td>
|
||
<td width="61%">Specifies an enhanced metafile is to be displayed in the
|
||
static control. The given text is the name of a metafile. An enhanced
|
||
metafile static control has a fixed size; the metafile is scaled to fit
|
||
the static control's client area.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_ETCHEDFRAME</td>
|
||
<td width="61%"><font face="verdana,arial,helvetica" size="2"><RECT>
|
||
& <STYLE COLOR="BLACK"
|
||
BORDER-STYLE="SOLID"></font></td>
|
||
<td width="61%">Draws the frame of the static control using the
|
||
EDGE_ETCHED edge style. For more information, see the <a href="JavaScript:hhobj_1.Click()"><b>DrawEdge</b></a>
|
||
function.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_ETCHEDHORZ</td>
|
||
<td width="61%"></td>
|
||
<td width="61%">Draws the top and bottom edges of the static control using
|
||
the EDGE_ETCHED edge style. For more information, see the <b>DrawEdge</b>
|
||
function.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_ETCHEDVERT</td>
|
||
<td width="61%"></td>
|
||
<td width="61%">Draws the left and right edges of the static control using
|
||
the EDGE_ETCHED edge style. For more information, see the <a href="JavaScript:hhobj_2.Click()"><b>DrawEdge</b></a>
|
||
function.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_GRAYFRAME</td>
|
||
<td width="61%">
|
||
<font face="verdana,arial,helvetica" size="2">
|
||
<RECT> & <STYLE COLOR="GRAY"
|
||
BORDER-STYLE="SOLID">
|
||
</font>
|
||
<p> </td>
|
||
<td width="61%">Specifies a box with a frame drawn with the same color as
|
||
the screen background (desktop). This color is gray in the default color
|
||
scheme.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_GRAYRECT</td>
|
||
<td width="61%"><font face="verdana,arial,helvetica" size="2"><RECT
|
||
FILL="YES"> & <STYLE COLOR="GRAY"
|
||
BORDER-STYLE="SOLID"></font></td>
|
||
<td width="61%">Specifies a rectangle filled with the current screen
|
||
background color. This color is gray in the default color scheme.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_ICON</td>
|
||
<td width="61%"><IMAGE></td>
|
||
<td width="61%">Specifies an icon is to be displayed in the dialog box.
|
||
The given text is the name of an icon (not a filename) defined elsewhere
|
||
in the resource file. The icon can be an animated cursor. The style
|
||
ignores the <i>nWidth</i> and <i>nHeight</i> parameters; the control
|
||
automatically sizes itself to accommodate the icon.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_LEFT</td>
|
||
<td width="61%">TEXT-ALIGN="LEFT"</td>
|
||
<td width="61%">Specifies a simple rectangle and left-aligns the given
|
||
text in the rectangle. The text is formatted before it is displayed.
|
||
Words that extend past the end of a line are automatically wrapped to
|
||
the beginning of the next left-aligned line. Words that are longer than
|
||
the width of the control are truncated.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_LEFTNOWORDWRAP</td>
|
||
<td width="61%">MULTILINE="FALSE"</td>
|
||
<td width="61%">Specifies a simple rectangle and left-aligns the given
|
||
text in the rectangle. Tabs are expanded, but words are not wrapped.
|
||
Text that extends past the end of a line is clipped.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_NOPREFIX</td>
|
||
<td width="61%"></td>
|
||
<td width="61%">Prevents interpretation of any ampersand (&)
|
||
characters in the control's text as accelerator prefix characters. These
|
||
are displayed with the ampersand removed and the next character in the
|
||
string underlined. This static control style may be included with any of
|
||
the defined static controls. You can combine SS_NOPREFIX with other
|
||
styles. This can be useful when filenames or other strings that may
|
||
contain an ampersand (&) must be displayed in a static control in a
|
||
dialog box.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_NOTIFY</td>
|
||
<td width="61%"></td>
|
||
<td width="61%">Sends the parent window <a href="statcon_3z1g.htm">STN_CLICKED</a>,
|
||
<a href="statcon_6357.htm">STN_DBLCLK</a>, <a href="statcon_2qcl.htm">STN_DISABLE</a>,
|
||
and <a href="statcon_3c2t.htm">STN_ENABLE</a> notification messages when
|
||
the user clicks or double-clicks the control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_OWNERDRAW</td>
|
||
<td width="61%"></td>
|
||
<td width="61%">Specifies that the owner of the static control is
|
||
responsible for drawing the control. The owner window receives a <a href="combobox_3sx9.htm">WM_DRAWITEM</a>
|
||
message whenever the control needs to be drawn.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_REALSIZEIMAGE</td>
|
||
<td width="61%"><IMAGE AUTOSIZE="NO"></td>
|
||
<td width="61%">Prevents a static icon or bitmap control (that is, static
|
||
controls that have the SS_ICON or SS_BITMAP style) from being resized as
|
||
it is loaded or drawn. If the icon or bitmap is larger than the
|
||
destination area, the image is clipped.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_RIGHT</td>
|
||
<td width="61%">TEXT-ALIGN="RIGHT"</td>
|
||
<td width="61%">Specifies a simple rectangle and right-aligns the given
|
||
text in the rectangle. The text is formatted before it is displayed.
|
||
Words that extend past the end of a line are automatically wrapped to
|
||
the beginning of the next right-aligned line. Words that are longer than
|
||
the width of the control are truncated.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_RIGHTJUST</td>
|
||
<td width="61%"><IMAGE ..></td>
|
||
<td width="61%">Specifies that the lower right corner of a static control
|
||
with the SS_BITMAP or SS_ICON style is to remain fixed when the control
|
||
is resized. Only the top and left sides are adjusted to accommodate a
|
||
new bitmap or icon.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_SIMPLE</td>
|
||
<td width="61%"></td>
|
||
<td width="61%">Specifies a simple rectangle and displays a single line of
|
||
left-aligned text in the rectangle. The text line cannot be shortened or
|
||
altered in any way. The control's parent window or dialog box must not
|
||
process the <a href="statcon_6dnn.htm">WM_CTLCOLORSTATIC</a> message.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_SUNKEN</td>
|
||
<td width="61%">BORDER-STYLE="</td>
|
||
<td width="61%">Draws a half-sunken border around a static control.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_WHITEFRAME</td>
|
||
<td width="61%"><font face="verdana,arial,helvetica" size="2"><RECT>
|
||
& <STYLE COLOR="WHITE"
|
||
BORDER-STYLE="SOLID"></font></td>
|
||
<td width="61%">Specifies a box with a frame drawn with the same color as
|
||
the window background. This color is white in the default color scheme.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_WHITERECT</td>
|
||
<td width="61%"><font face="verdana,arial,helvetica" size="2"><RECT
|
||
FILL="YES"> & <STYLE COLOR="WHITE"
|
||
BORDER-STYLE="SOLID">
|
||
</font>
|
||
</td>
|
||
<td width="61%">Specifies a rectangle filled with the current window
|
||
background color. This color is white in the default color scheme.</td>
|
||
</tr>
|
||
<tr vAlign="top">
|
||
<td width="39%">SS_WORDELLIPSIS</td>
|
||
<td width="61%">ELLIPSIS="WORD"</td>
|
||
<td width="61%"><b>Windows NT:</b> Truncates text that does not fit and
|
||
adds ellipses.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
<font color="#228b22" size="1"><br>
|
||
Built on: Monday, November 16, 1998</font>
|
||
<h1><a name="_mfc_window_styles"></a>Window Styles</h1>
|
||
<ul type="disc">
|
||
<li><b>WS_BORDER</b> Creates a window that has a border.<br>
|
||
<br>
|
||
<li><b>WS_CAPTION</b> Creates a window that has a title bar
|
||
(implies the <b>WS_BORDER</b> style). Cannot be used with the <b>WS_DLGFRAME</b>
|
||
style.<br>
|
||
<br>
|
||
<li><b>WS_CHILD</b> Creates a child window. Cannot be used
|
||
with the <b>WS_POPUP</b> style.<br>
|
||
<br>
|
||
<li><b>WS_CLIPCHILDREN</b> Excludes the area occupied by
|
||
child windows when you draw within the parent window. Used when you create
|
||
the parent window.<br>
|
||
<br>
|
||
<li><b>WS_CLIPSIBLINGS</b> Clips child windows relative to
|
||
each other; that is, when a particular child window receives a paint
|
||
message, the <b>WS_CLIPSIBLINGS</b> style clips all other overlapped child
|
||
windows out of the region of the child window to be updated. (If <b>WS_CLIPSIBLINGS</b>
|
||
is not given and child windows overlap, when you draw within the client area
|
||
of a child window, it is possible to draw within the client area of a
|
||
neighboring child window.) For use with the <b>WS_CHILD</b> style only.<br>
|
||
<br>
|
||
<li><b>WS_DISABLED</b> Creates a window that is initially
|
||
disabled.<br>
|
||
<br>
|
||
<li><b>WS_DLGFRAME</b> Creates a window with a double border
|
||
but no title.<br>
|
||
<br>
|
||
<li><b>WS_GROUP</b> Specifies the first control of a group of
|
||
controls in which the user can move from one control to the next with the
|
||
arrow keys. All controls defined with the <b>WS_GROUP</b> style <b>FALSE</b>
|
||
after the first control belong to the same group. The next control with the <b>WS_GROUP</b>
|
||
style starts the next group (that is, one group ends where the next begins).<br>
|
||
<br>
|
||
<li><b>WS_HSCROLL</b> Creates a window that has a horizontal
|
||
scroll bar.<br>
|
||
<br>
|
||
<li><b>WS_MAXIMIZE</b> Creates a window of maximum size.<br>
|
||
<br>
|
||
<li><b>WS_MAXIMIZEBOX</b> Creates a window that has a
|
||
Maximize button.<br>
|
||
<br>
|
||
<li><b>WS_MINIMIZE</b> Creates a window that is initially
|
||
minimized. For use with the <b>WS_OVERLAPPED</b> style only.<br>
|
||
<br>
|
||
<li><b>WS_MINIMIZEBOX</b> Creates a window that has a
|
||
Minimize button.<br>
|
||
<br>
|
||
<li><b>WS_OVERLAPPED</b> Creates an overlapped window. An
|
||
overlapped window usually has a caption and a border.<br>
|
||
<br>
|
||
<li><b>WS_OVERLAPPEDWINDOW</b> Creates an overlapped window
|
||
with the <b>WS_OVERLAPPED</b>, <b>WS_CAPTION</b>, <b>WS_SYSMENU</b>, <b>WS_THICKFRAME</b>,
|
||
<b>WS_MINIMIZEBOX</b>, and <b>WS_MAXIMIZEBOX</b> styles.<br>
|
||
<br>
|
||
<li><b>WS_POPUP</b> Creates a pop-up window. Cannot be used
|
||
with the <b>WS_CHILD</b> style.<br>
|
||
<br>
|
||
<li><b>WS_POPUPWINDOW</b> Creates a pop-up window with the <b>WS_BORDER</b>,
|
||
<b>WS_POPUP</b>, and <b>WS_SYSMENU</b> styles. The <b>WS_CAPTION</b> style
|
||
must be combined with the <b>WS_POPUPWINDOW</b> style to make the Control
|
||
menu visible.<br>
|
||
<br>
|
||
<li><b>WS_SYSMENU</b> Creates a window that has a
|
||
Control-menu box in its title bar. Used only for windows with title bars.<br>
|
||
<br>
|
||
<li><b>WS_TABSTOP</b> Specifies one of any number of controls
|
||
through which the user can move by using the TAB key. The TAB key moves the
|
||
user to the next control specified by the <b>WS_TABSTOP</b> style.<br>
|
||
<br>
|
||
<li><b>WS_THICKFRAME</b> Creates a window with a thick frame
|
||
that can be used to size the window.<br>
|
||
<br>
|
||
<li><b>WS_VISIBLE</b> Creates a window that is initially
|
||
visible.<br>
|
||
<br>
|
||
<li><b>WS_VSCROLL</b> Creates a window that has a vertical
|
||
scroll bar.</li>
|
||
</ul>
|
||
<p><b>See Also</b> <a href="_mfc_cwnd.3a3a.create.htm">CWnd::Create</a>,
|
||
<a href="_mfc_cwnd.3a3a.createex.htm">CWnd::CreateEx</a></p>
|
||
<h1><a name="_mfc_extended_window_styles"></a>Extended Window Styles</h1>
|
||
<ul type="disc">
|
||
<li><b>WS_EX_ACCEPTFILES</b> Specifies that a window created
|
||
with this style accepts drag-and-drop files.<br>
|
||
<br>
|
||
<li><b>WS_EX_CLIENTEDGE</b> Specifies that a window has a 3D
|
||
look <20> that is, a border with a sunken edge.<br>
|
||
<br>
|
||
<li><b>WS_EX_CONTEXTHELP</b> Includes a question mark in the
|
||
title bar of the window. When the user clicks the question mark, the cursor
|
||
changes to a question mark with a pointer. If the user then clicks a child
|
||
window, the child receives a <b>WM_HELP</b> message.<br>
|
||
<br>
|
||
<li><b>WS_EX_CONTROLPARENT</b> Allows the user to navigate
|
||
among the child windows of the window by using the TAB key.<br>
|
||
<br>
|
||
<li><b>WS_EX_DLGMODALFRAME</b> Designates a window with a
|
||
double border that may (optionally) be created with a title bar when you
|
||
specify the <b>WS_CAPTION</b> style flag in the <i>dwStyle</i> parameter.<br>
|
||
<br>
|
||
<li><b>WS_EX_LEFT</b> Gives window generic left-aligned
|
||
properties. This is the default.<br>
|
||
<br>
|
||
<li><b>WS_EX_LEFTSCROLLBAR</b> Places a vertical scroll
|
||
bar to the left of the client area.<br>
|
||
<br>
|
||
<li><b>WS_EX_LTRREADING</b> Displays the window text using
|
||
left-to-right reading order properties. This is the default.<br>
|
||
<br>
|
||
<li><b>WS_EX_MDICHILD</b> Creates an MDI child window.<br>
|
||
<br>
|
||
<li><b>WS_EX_NOPARENTNOTIFY</b> Specifies that a child window
|
||
created with this style will not send the <b>WM_PARENTNOTIFY</b> message to
|
||
its parent window when the child window is created or destroyed.<br>
|
||
<br>
|
||
<li><b>WS_EX_OVERLAPPEDWINDOW</b> Combines the <b>WS_EX_CLIENTEDGE</b>
|
||
and <b>WS_EX_WINDOWEDGE</b> styles<br>
|
||
<br>
|
||
<li><b>WS_EX_PALETTEWINDOW</b> Combines the <b>WS_EX_WINDOWEDGE
|
||
</b>and <b>WS_EX_TOPMOST</b> styles.<br>
|
||
<br>
|
||
<li><b>WS_EX_RIGHT</b> Gives a window generic right-aligned
|
||
properties. This depends on the window class.<br>
|
||
<br>
|
||
<li><b>WS_EX_RIGHTSCROLLBAR</b> Places a vertical scroll bar
|
||
(if present) to the right of the client area. This is the default.<br>
|
||
<br>
|
||
<li><b>WS_EX_RTLREADING</b> Displays the window text using
|
||
right-to-left reading order properties.<br>
|
||
<br>
|
||
<li><b>WS_EX_STATICEDGE</b> Creates a window with a
|
||
three-dimensional border style intended to be used for items that do not
|
||
accept user input.<br>
|
||
<br>
|
||
<li><b>WS_EX_TOOLWINDOW</b> Creates a tool window, which is a
|
||
window intended to be used as a floating toolbar. A tool window has a title
|
||
bar that is shorter than a normal title bar, and the window title is drawn
|
||
using a smaller font. A tool window does not appear in the task bar or in
|
||
the window that appears when the user presses ALT+TAB.<br>
|
||
<br>
|
||
<li><b>WS_EX_TOPMOST</b> Specifies that a window created with
|
||
this style should be placed above all nontopmost windows and stay above them
|
||
even when the window is deactivated. An application can use the <b>SetWindowPos</b>
|
||
member function to add or remove this attribute.<br>
|
||
<br>
|
||
<li><b>WS_EX_TRANSPARENT</b> Specifies that a window created
|
||
with this style is to be transparent. That is, any windows that are beneath
|
||
the window are not obscured by the window. A window created with this style
|
||
receives <b>WM_PAINT</b> messages only after all sibling windows beneath it
|
||
have been updated.<br>
|
||
<br>
|
||
<li><b>WS_EX_WINDOWEDGE</b> Specifies that a window has a
|
||
border with a raised edge.</li>
|
||
</ul>
|
||
<p><b>See Also</b> <a href="_mfc_cwnd.3a3a.createex.htm">CWnd::CreateEx</a></p>
|
||
</font>
|
||
<h1>Common Control Window Classes</h1>
|
||
The following window class names are provided by the common control library:
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td>ANIMATE_CLASS</td>
|
||
<td><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</td>
|
||
<td>Creates animation controls. These controls silently display an audio
|
||
video interleaved (AVI) clip.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>DATETIMEPICK_CLASS</td>
|
||
<td></td>
|
||
<td>Creates date and time picker controls. These controls provide a simple
|
||
and intuitive interface to exchange date and time information with a
|
||
user.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>HOTKEY_CLASS</td>
|
||
<td></td>
|
||
<td>Creates hot key controls. These controls make it easy for the user to
|
||
define hot keys.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>MONTHCAL_CLASS</td>
|
||
<td></td>
|
||
<td>Creates month calendar controls. These controls provide a simple and
|
||
intuitive way for a user to select a date from a familiar interface.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>PROGRESS_CLASS</td>
|
||
<td></td>
|
||
<td>Creates progress bars. These controls indicate the progress of a
|
||
lengthy operation.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>REBARCLASSNAME</td>
|
||
<td></td>
|
||
<td>Creates rebar controls. These controls act as a container for child
|
||
windows.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>STATUSCLASSNAME</td>
|
||
<td></td>
|
||
<td>Creates status windows. These controls display status information in a
|
||
horizontal window.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>TOOLBARCLASSNAME</td>
|
||
<td></td>
|
||
<td>Creates toolbars. These controls contain buttons that carry out menu
|
||
commands.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>TOOLTIPS_CLASS</td>
|
||
<td></td>
|
||
<td>Creates tooltip controls. These controls display a small pop-up window
|
||
containing a line of text that describes the purpose of a tool in an
|
||
application.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>TRACKBAR_CLASS</td>
|
||
<td></td>
|
||
<td>Creates trackbars. These controls let the user select from a range of
|
||
values by moving a slider.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>UPDOWN_CLASS</td>
|
||
<td></td>
|
||
<td>Creates up-down controls. These controls combine a pair of arrows with
|
||
an edit control. Clicking the arrows increments or decrements the value
|
||
in the edit control.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>WC_COMBOBOXEX</td>
|
||
<td></td>
|
||
<td>Creates ComboBoxEx controls. These controls provide an extension of
|
||
the combo box control that provides native support for item images.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>WC_HEADER</td>
|
||
<td></td>
|
||
<td>Creates header controls. These controls display headings at the top of
|
||
columns of information and let the user sort the information by clicking
|
||
the headings.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>WC_IPADDRESS</td>
|
||
<td></td>
|
||
<td>Creates IP address controls. These controls are similar to an edit
|
||
control, but they allow you to enter a numeric address in Internet
|
||
protocol (IP) format.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>WC_LISTVIEW</td>
|
||
<td></td>
|
||
<td>Creates list view controls. These controls display a collection of
|
||
items, each consisting of an icon and a label, and provide several ways
|
||
to arrange the items.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>WC_PAGESCROLLER</td>
|
||
<td></td>
|
||
<td>Creates pager controls. These controls are used to contain and scroll
|
||
another window.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>WC_TABCONTROL</td>
|
||
<td></td>
|
||
<td>Creates tab controls. These controls define multiple pages for the
|
||
same area of a window or dialog box. Each page consists of a set of
|
||
information or a group of controls that an application displays when the
|
||
user selects the corresponding tab.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>WC_TREEVIEW</td>
|
||
<td></td>
|
||
<td>Creates tree view controls. These controls display a hierarchical list
|
||
of items. Each item consists of a label and an optional bitmap.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1>Animation Control Styles</h1>
|
||
<p>The following window styles are used with animation controls:</p>
|
||
<dl>
|
||
<dt><b><a name="ACS_AUTOPLAY">ACS_AUTOPLAY</a></b>
|
||
<dd>Starts playing the animation as soon as the AVI clip is opened.
|
||
<dt><b><a name="ACS_CENTER">ACS_CENTER</a></b>
|
||
<dd>Centers the animation in the animation control's window.
|
||
<dt><b><a name="ACS_TIMER">ACS_TIMER</a></b>
|
||
<dd>By default, the control creates a thread to play the AVI clip. If you set
|
||
this flag, the control plays the clip without creating a thread; internally
|
||
the control uses a Win32 timer to synchronize playback. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="ACS_TRANSPARENT">ACS_TRANSPARENT</a></b>
|
||
<dd>Allows you to match an animation's background color to that of the
|
||
underlying window, creating a "transparent" background. The
|
||
control will send a <!-- a-link -->
|
||
WM_CTLCOLORSTATIC message to its parent. You should return a handle to a
|
||
brush with the appropriate background color. The control interprets the
|
||
upper-left pixel of the first frame as the animation's default background
|
||
color. It will remap all pixels with that color to the value you supplied in
|
||
response to WM_CTLCOLORSTATIC. <!-- @End changes to text -->
|
||
</dd>
|
||
</dl>
|
||
<h1><a name="_win32_ComboEx_ExtendedStyles"></a>ComboBoxEx control extended
|
||
styles</h1>
|
||
<p>ComboBoxEx controls support most standard combo box control styles.
|
||
Additionally, ComboBoxEx controls support the following extended styles, which
|
||
you can set and retrieve by using <a href="messages/CBEM_SETEXTENDEDSTYLE.htm#CBEM_SETEXTENDEDSTYL">CBEM_SETEXTENDEDSTYLE</a>
|
||
and <a href="messages/CBEM_GETEXTENDEDSTYLE.htm#CBEM_GETEXTENDEDSTYL">CBEM_GETEXTENDEDSTYLE</a>
|
||
messages:
|
||
<dl>
|
||
<dt><b><a name="CBES_EX_CASESENSITIV">CBES_EX_CASESENSITIVE</a></b>
|
||
<dd>String searches in the list will be case sensitive. This includes searches
|
||
as a result of text being typed in the edit box and the CB_FINDSTRINGEXACT
|
||
message. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="CBES_EX_NOEDITIMAGE">CBES_EX_NOEDITIMAGE</a></b>
|
||
<dd>The edit box and the dropdown list will not display item images.
|
||
<dt><b><a name="CBES_EX_NOEDITIMAGEI">CBES_EX_NOEDITIMAGEINDENT</a></b>
|
||
<dd>The edit box and the dropdown list will not display item images. <!-- @End changes to text -->
|
||
<dt><b><a name="CBES_EX_NOSIZELIMIT">CBES_EX_NOSIZELIMIT</a></b>
|
||
<dd>Allows the ComboBoxEx control to be vertically sized smaller than its
|
||
contained combo box control. If the ComboBoxEx is sized smaller than the
|
||
combo box, the combo box will be clipped.
|
||
<dt><b><a name="CBES_EX_PATHWORDBREA">CBES_EX_PATHWORDBREAKPROC</a></b>
|
||
<dd><b>Windows NT only.</b> The edit box will use the slash (/), backslash
|
||
(\), and period (.) characters as word delimiters. This makes keyboard
|
||
shortcuts for word-by-word cursor movement (<small>CTRL+ARROW</small>)
|
||
effective in path names and URLs.</dd>
|
||
</dl>
|
||
<!-- @Begin changes to text. -->
|
||
<p><b>Note:</b> if you try to set an extended style for a ComboBoxEx control
|
||
created with the CBS_SIMPLE style, it may not repaint properly. The CBS_SIMPLE
|
||
style also does not work properly with the CBES_EX_PATHWORDBREAKPROC extended
|
||
style.</p>
|
||
<!-- @End changes to text -->
|
||
<h1><a name="_win32_dtp_styles"></a>Date and time picker control styles</h1>
|
||
<p>The window styles listed here are specific to date and time picker controls.
|
||
The DTS_XXXFORMAT styles that define the display format cannot be combined. If
|
||
none of the format styles are suitable, use a <a href="messages/DTM_SETFORMAT.htm">DTM_SETFORMAT</a>
|
||
message to define a custom format.
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td><b><a name="DTS_APPCANPARSE">DTS_APPCANPARSE</a></b></td>
|
||
<td><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</td>
|
||
<td>Allows the owner to parse user input and take necessary action. It
|
||
enables users to edit within the client area of the control when they
|
||
press the F2 key. The control sends <a href="notifications/DTN_USERSTRING.htm#DTN_USERSTRING">DTN_USERSTRING</a>
|
||
notification messages when users are finished.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="DTS_LONGDATEFORMAT">DTS_LONGDATEFORMAT</a></b></td>
|
||
<td></td>
|
||
<td>Displays the date in long format. The default format string for this
|
||
style is defined by LOCALE_SLONGDATEFORMAT, which produces output like
|
||
"Friday, April 19, 1996".</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="DTS_RIGHTALIGN">DTS_RIGHTALIGN</a></b></td>
|
||
<td></td>
|
||
<td>The drop-down month calendar will be right-aligned with the control
|
||
instead of left-aligned, which is the default.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="DTS_SHOWNONE">DTS_SHOWNONE</a></b></td>
|
||
<td></td>
|
||
<td>It is possible to have no date currently selected in the control. With
|
||
this style, the control displays a check box that users can check once
|
||
they have entered or selected a date. Until this check box is checked,
|
||
the application will not be able to retrieve the date from the control
|
||
because, in essence, the control has no date. This state can be set with
|
||
the <a href="messages/DTM_SETSYSTEMTIME.htm#DTM_SETSYSTEMTIME">DTM_SETSYSTEMTIME</a>
|
||
message or queried with the <a href="messages/DTM_GETSYSTEMTIME.htm#DTM_GETSYSTEMTIME">DTM_GETSYSTEMTIME</a>
|
||
message.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="DTS_SHORTDATEFORMAT">DTS_SHORTDATEFORMAT</a></b></td>
|
||
<td></td>
|
||
<td>Displays the date in short format. The default format string for this
|
||
style is defined by LOCALE_SSHORTDATE, which produces output like
|
||
"4/19/96".</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="DTS_SHORTDATECENTURYFORMAT">DTS_SHORTDATECENTURYFORMAT</a></b></td>
|
||
<td></td>
|
||
<td><b>Version 5.0.</b> Similar to the DTS_SHORTDATEFORMAT style, except
|
||
the year is a four-digit field. The default format string for this style
|
||
is based on LOCALE_SSHORTDATE. The output looks like:
|
||
"4/19/1996".</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="DTS_TIMEFORMAT">DTS_TIMEFORMAT</a></b></td>
|
||
<td></td>
|
||
<td>Displays the time. The default format string for this style is defined
|
||
by LOCALE_STIMEFORMAT, which produces output like "5:31:42
|
||
PM".</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="DTS_UPDOWN">DTS_UPDOWN</a></b></td>
|
||
<td></td>
|
||
<td>Places an up-down control to the right of the DTP control to modify
|
||
date-time values. This style can be used in place of the drop-down month
|
||
calendar, which is the default style.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1>Header Control Styles</h1>
|
||
<p>Header controls have a number of styles, described below, that determine the
|
||
control's appearance and behavior. You set the initial styles when you create
|
||
the header control. To retrieve and change the styles after creating the
|
||
control, use the <!-- a-link -->
|
||
<b>GetWindowLong</b> and <!-- a-link -->
|
||
<b>SetWindowLong</b> functions.
|
||
<dl>
|
||
<dt><b><a name="HDS_BUTTONS">HDS_BUTTONS</a></b>
|
||
<dd>Each item in the control looks and behaves like a push button. This style
|
||
is useful if an application carries out a task when the user clicks an item
|
||
in the header control. For example, an application could sort information in
|
||
the columns differently depending on which item the user clicks.
|
||
<dt><b><a name="HDS_DRAGDROP">HDS_DRAGDROP</a></b>
|
||
<dd><b>Version 4.70</b>. Allows drag-and-drop reordering of header items.
|
||
<dt><b><a name="HDS_FILTERBAR">HDS_FILTERBAR</a></b>
|
||
<dd><b>Version 5.00</b>. Include a filter bar as part of the standard header
|
||
control. This bar allows users to conveniently apply a filter to the
|
||
display. Calls to <a href="messages/HDM_LAYOUT.htm#HDM_LAYOUT">HDM_LAYOUT</a>
|
||
will yield a new size for the control and cause the list view to update.
|
||
<dt><b><a name="HDS_FULLDRAG">HDS_FULLDRAG</a></b>
|
||
<dd><b>Version 4.70</b>. Causes the header control to display column contents
|
||
even while the user resizes a column.
|
||
<dt><b><a name="HDS_HIDDEN">HDS_HIDDEN</a></b>
|
||
<dd>Indicates a header control that is intended to be hidden. This style does
|
||
not hide the control. Instead, when you send the <a href="messages/HDM_LAYOUT.htm#HDM_LAYOUT">HDM_LAYOUT</a>
|
||
message to a header control with the HDS_HIDDEN style, the control returns
|
||
zero in the <b>cy</b> member of the <!-- a-link -->
|
||
<b>WINDOWPOS</b> structure. You would then hide the control by setting its
|
||
height to zero. This can be useful when you want to use the control as an
|
||
information container instead of a visual control.
|
||
<dt><b><a name="HDS_HORZ">HDS_HORZ</a></b>
|
||
<dd>Creates a header control with a horizontal orientation.
|
||
<dt><b><a name="HDS_HOTTRACK">HDS_HOTTRACK</a></b>
|
||
<dd><b>Version 4.70</b>. Enables hot tracking.</dd>
|
||
</dl>
|
||
<h1>List view window styles</h1>
|
||
<p>The following window styles are specific to list view controls.
|
||
<dl>
|
||
<dt><b><a name="LVS_ALIGNLEFT">LVS_ALIGNLEFT</a></b>
|
||
<dd>Items are left-aligned in icon and small icon view.
|
||
<dt><b><a name="LVS_ALIGNTOP">LVS_ALIGNTOP</a></b>
|
||
<dd>Items are aligned with the top of the list view control in icon and small
|
||
icon view.
|
||
<dt><b><a name="LVS_AUTOARRANGE">LVS_AUTOARRANGE</a></b>
|
||
<dd>Icons are automatically kept arranged in icon and small icon view.
|
||
<dt><b><a name="LVS_EDITLABELS">LVS_EDITLABELS</a></b>
|
||
<dd>Item text can be edited in place. The parent window must process the <a href="notifications/LVN_ENDLABELEDIT.htm#LVN_ENDLABELEDIT">LVN_ENDLABELEDIT</a>
|
||
notification message.
|
||
<dt><b><a name="LVS_ICON">LVS_ICON</a></b>
|
||
<dd>Icon view.
|
||
<dt><b><a name="LVS_LIST">LVS_LIST</a></b>
|
||
<dd>List view.
|
||
<dt><b><a name="LVS_NOCOLUMNHEADER">LVS_NOCOLUMNHEADER</a></b>
|
||
<dd>Column headers are not displayed in report view. By default, columns have
|
||
headers in report view.
|
||
<dt><b><a name="LVS_NOLABELWRAP">LVS_NOLABELWRAP</a></b>
|
||
<dd>Item text is displayed on a single line in icon view. By default, item
|
||
text may wrap in icon view.
|
||
<dt><b><a name="LVS_NOSCROLL">LVS_NOSCROLL</a></b>
|
||
<dd>Scrolling is disabled. All items must be within the client area.
|
||
<dt><b><a name="LVS_NOSORTHEADER">LVS_NOSORTHEADER</a></b>
|
||
<dd>Column headers do not work like buttons. This style can be used if
|
||
clicking a column header in report view does not carry out an action, such
|
||
as sorting.
|
||
<dt><b><a name="LVS_OWNERDATA">LVS_OWNERDATA</a></b>
|
||
<dd><b>Version 4.70</b>. Specifies a virtual list view control. For more
|
||
information about this list control style, see <a href="Updates.htm#vlv_description">Virtual
|
||
list view description</a>.
|
||
<dt><b><a name="LVS_OWNERDRAWFIXED">LVS_OWNERDRAWFIXED</a></b>
|
||
<dd>The owner window can paint items in report view. The list view control
|
||
sends a <!-- a-link -->
|
||
<b>WM_DRAWITEM</b> message to paint each item; it does not send separate
|
||
messages for each subitem. The <b>itemData</b> member of the <!-- a-link -->
|
||
<b>DRAWITEMSTRUCT</b> structure contains the item data for the specified
|
||
list view item.
|
||
<dt><b><a name="LVS_REPORT">LVS_REPORT</a></b>
|
||
<dd>Report view. When using the LVS_REPORT style with a list view control, the
|
||
first column is always left-aligned. You cannot use LVCFMT_RIGHT to change
|
||
this alignment.
|
||
<dt><b><a name="LVS_SHAREIMAGELISTS">LVS_SHAREIMAGELISTS</a></b>
|
||
<dd>The image list will not be deleted when the control is destroyed. This
|
||
style enables the use of the same image lists with multiple list view
|
||
controls.
|
||
<dt><b><a name="LVS_SHOWSELALWAYS">LVS_SHOWSELALWAYS</a></b>
|
||
<dd>The selection, if any, is always shown, even if the control does not have
|
||
the focus.
|
||
<dt><b><a name="LVS_SINGLESEL">LVS_SINGLESEL</a></b>
|
||
<dd>Only one item at a time can be selected. By default, multiple items may be
|
||
selected.
|
||
<dt><b><a name="LVS_SMALLICON">LVS_SMALLICON</a></b>
|
||
<dd>Small icon view.
|
||
<dt><b><a name="LVS_SORTASCENDING">LVS_SORTASCENDING</a></b>
|
||
<dd>Item indices are sorted based on item text in ascending order.
|
||
<dt><b><a name="LVS_SORTDESCENDING">LVS_SORTDESCENDING</a></b>
|
||
<dd>Item indices are sorted based on item text in descending order.</dd>
|
||
</dl>
|
||
<h4>Remarks</h4>
|
||
<!-- @Begin changes to text. -->
|
||
<p>For the LVS_SORTASCENDING AND LVS_SORTDESCENDING styles, item indices are
|
||
sorted based on item text in ascending or descending order, respectively.
|
||
Because the LVS_LIST and LVS_REPORT views display items in in the same order as
|
||
their indices the results of sorting are immediately visible to the user. The
|
||
LVS_ICON and LVS_SMALLICON views do not use item indices to determine the
|
||
position of icons. With those views, the results of sorting are not visible to
|
||
the user.</p>
|
||
<!-- @End changes to text -->
|
||
<p>You can use the <b><a name="LVS_TYPEMASK">LVS_TYPEMASK</a></b> mask to
|
||
isolate the window styles that correspond to the current view: <a href="Styles.htm#LVS_ICON">LVS_ICON</a>,
|
||
<a href="Styles.htm#LVS_SMALLICON">LVS_SMALLICON</a>, <a href="Styles.htm#LVS_LIST">LVS_LIST</a>,
|
||
and <a href="Styles.htm#LVS_REPORT">LVS_REPORT</a>.
|
||
<p>You can use the <b><a name="LVS_ALIGNMASK">LVS_ALIGNMASK</a></b> mask to
|
||
isolate the window styles that specify the alignment of items: <a href="Styles.htm#LVS_ALIGNLEFT">LVS_ALIGNLEFT</a>
|
||
and <a href="Styles.htm#LVS_ALIGNTOP">LVS_ALIGNTOP</a>.
|
||
<p>You can use the <b><a name="LVS_TYPESTYLEMASK">LVS_TYPESTYLEMASK</a></b> mask
|
||
to isolate the window styles that control item alignment (<a href="Styles.htm#LVS_ALIGNLEFT">LVS_ALIGNLEFT</a>
|
||
and <a href="Styles.htm#LVS_ALIGNTOP">LVS_ALIGNTOP</a>) and those that control
|
||
header appearance and behavior (<a href="Styles.htm#LVS_NOCOLUMNHEADER">LVS_NOCOLUMNHEADER</a>
|
||
and <a href="Styles.htm#LVS_NOSORTHEADER">LVS_NOSORTHEADER</a>).</p>
|
||
<h1><a name="_win32_lv_extended_styles"></a>Extended list view styles</h1>
|
||
<p>List view control styles have been extended. To use these new styles, use the
|
||
<a href="messages/LVM_SETEXTENDEDLISTVIEWSTYLE.htm#LVM_SETEXTENDEDLISTV">LVM_SETEXTENDEDLISTVIEWSTYLE</a>
|
||
message or one of the <a href="macros/ListView_SetExtendedListViewStyle.htm#ListView_SetExtended">ListView_SetExtendedListViewStyle</a>
|
||
or <a href="macros/ListView_SetExtendedListViewStyleEx.htm#ListView_SetExtended">ListView_SetExtendedListViewStyleEx</a>
|
||
macros.
|
||
<dl>
|
||
<dt><b><a name="LVS_EX_CHECKBOXES">LVS_EX_CHECKBOXES</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.70">Version
|
||
4.70</a></b>. Enables check boxes for items in a list view control.
|
||
Effectively, when set to this style, the control will create and set a state
|
||
image list using <!-- a-link -->
|
||
<b>DrawFrameControl</b>. Check boxes are visible and functional with all
|
||
list view modes. The state of the check box for a given item is obtained
|
||
using the <a href="macros/ListView_GetCheckState.htm#ListView_GetCheckSta">ListView_GetCheckState</a>
|
||
macro.
|
||
<p>Note: To set the state of the item checkbox, use the following macro.
|
||
<pre>#ifndef ListView_SetCheckState
|
||
#define ListView_SetCheckState(hwndLV, i, fCheck) \
|
||
ListView_SetItemState(hwndLV, i, \
|
||
INDEXTOSTATEIMAGEMASK((fCheck)+1), LVIS_STATEIMAGEMASK)
|
||
#endif
|
||
|
||
</pre>
|
||
<dt><b><a name="LVS_EX_FLATSB">LVS_EX_FLATSB</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.71">Version
|
||
4.71</a></b>. Enables flat scroll bars in the list view. If you need more
|
||
control over the appearance of the list view's scroll bars, you should
|
||
manipulate the list view's scroll bars directly using the <a href="../flatsb/RefList.htm#FlatSB_ref">Flat
|
||
Scroll Bar APIs</a>.
|
||
<dt><b><a name="LVS_EX_FULLROWSELECT">LVS_EX_FULLROWSELECT</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.70">Version
|
||
4.70</a></b>. When an item is selected, the item and all its subitems are
|
||
highlighted. This style is available only in conjunction with the <a href="Styles.htm#LVS_REPORT">LVS_REPORT</a>
|
||
style.
|
||
<dt><b><a name="LVS_EX_GRIDLINES">LVS_EX_GRIDLINES</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.70">Version
|
||
4.70</a></b>. Displays gridlines around items and subitems. This style is
|
||
available only in conjunction with the <a href="Styles.htm#LVS_REPORT">LVS_REPORT</a>
|
||
style.
|
||
<dt><b><a name="LVS_EX_HEADERDRAGDRO">LVS_EX_HEADERDRAGDROP</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.70">Version
|
||
4.70</a></b>. Enables drag-and-drop reordering of columns in a list view
|
||
control. This style is only available to list view controls that use the <a href="Styles.htm#LVS_REPORT">LVS_REPORT</a>
|
||
style.
|
||
<dt><b><a name="LVS_EX_INFOTIP">LVS_EX_INFOTIP</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.71">Version
|
||
4.71</a></b>. When a list view control uses the LVS_EX_INFOTIP style, the <a href="notifications/LVN_GETINFOTIP.htm#LVN_GETINFOTIP">LVN_GETINFOTIP</a>
|
||
notification message is sent to the parent window before displaying an
|
||
item's tooltip. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="LVS_EX_LABELTIP">LVS_EX_LABELTIP</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie">Version 5.0</a></b>. If a
|
||
partially hidden label in any list view mode lacks tooltip text, the list
|
||
view control will unfold the label. If this style is not set, the list view
|
||
control will unfold partly hidden labels only for the large icon mode. <!-- @End changes to text -->
|
||
<dt><b><a name="LVS_EX_MULTIWORKAREA">LVS_EX_MULTIWORKAREAS</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.71">Version
|
||
4.71</a></b>. If the list view control has the <a href="Styles.htm#LVS_AUTOARRANGE">LVS_AUTOARRANGE</a>
|
||
style, the control will not autoarrange its icons until one or more work
|
||
areas are defined (see <a href="messages/LVM_SETWORKAREAS.htm#LVM_SETWORKAREAS">LVM_SETWORKAREAS</a>).
|
||
To be effective, this style must be set before any work areas are defined
|
||
and any items have been added to the control.
|
||
<dt><b><a name="LVS_EX_ONECLICKACTIV">LVS_EX_ONECLICKACTIVATE</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a></b>. The
|
||
list view control sends an <a href="notifications/LVN_ITEMACTIVATE.htm#LVN_ITEMACTIVATE">LVN_ITEMACTIVATE</a>
|
||
notification message to the parent window when the user clicks an item. This
|
||
style also enables <i>hot tracking</i> in the list view control. Hot
|
||
tracking means that when the cursor moves over an item, it is highlighted
|
||
but not selected. See the <a href="#Remarks">Remarks</a> for a discussion of
|
||
item activation.
|
||
<dt><b><a name="LVS_EX_REGIONAL">LVS_EX_REGIONAL</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie" title="Definition for the Comctl32.dll version 4.71">Version
|
||
4.71</a></b>. The list view will create a region that includes only the item
|
||
icons and text and set its window region to that using <!-- a-link -->
|
||
<b>SetWindowRgn</b>. This will exclude any area that is not part of an item
|
||
from the window region. This style is only available to list view controls
|
||
that use the <a href="Styles.htm#LVS_ICON">LVS_ICON</a> style.
|
||
<dt><b><a name="LVS_EX_SUBITEMIMAGES">LVS_EX_SUBITEMIMAGES</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a></b>. Allows
|
||
images to be displayed for subitems. This style is available only in
|
||
conjunction with the <a href="Styles.htm#LVS_REPORT">LVS_REPORT</a> style.
|
||
<dt><b><a name="LVS_EX_TRACKSELECT">LVS_EX_TRACKSELECT</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a></b>.
|
||
Enables hot-track selection in a list view control. Hot track selection
|
||
means that an item is automatically selected when the cursor remains over
|
||
the item for a certain period of time. The delay can be changed from the
|
||
default system setting with a <a href="messages/LVM_SETHOVERTIME.htm#LVM_SETHOVERTIME">LVM_SETHOVERTIME</a>
|
||
message. This style applies to all styles of list view control. You can
|
||
check whether or not hot-track selection is enabled by calling <!-- a-link -->
|
||
<b>SystemParametersInfo</b>.
|
||
<dt><b><a name="LVS_EX_TWOCLICKACTIV">LVS_EX_TWOCLICKACTIVATE</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a></b>. The
|
||
list view control sends an <a href="notifications/LVN_ITEMACTIVATE.htm#LVN_ITEMACTIVATE">LVN_ITEMACTIVATE</a>
|
||
notification message to the parent window when the user double-clicks an
|
||
item. This style also enables <i>hot tracking</i> in the list view control.
|
||
Hot tracking means that when the cursor moves over an item, it is
|
||
highlighted but not selected. See the <a href="#Remarks">Remarks</a> for a
|
||
discussion of item activation. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="LVS_EX_UNDERLINECOLD">LVS_EX_UNDERLINECOLD</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie">Version 4.71</a></b>. Causes
|
||
non-hot items that are activatable to be displayed with underlined text.
|
||
This style requires that <a href="Ex_Styles.htm#LVS_EX_TWOCLICKACTIV">LVS_EX_TWOCLICKACTIVATE</a>
|
||
also be set. See the <a href="#Remarks">Remarks</a> for a discussion of item
|
||
activation.
|
||
<dt><b><a name="LVS_EX_UNDERLINEHOT">LVS_EX_UNDERLINEHOT</a></b>
|
||
<dd><b><a href="../common/Common.htm#cc_win32_ie">Version 4.71</a></b>. Causes
|
||
hot items that are activatable to be displayed with underlined text. This
|
||
style requires that <a href="Ex_Styles.htm#LVS_EX_ONECLICKACTIV">LVS_EX_ONECLICKACTIVATE</a>
|
||
or <a href="Ex_Styles.htm#LVS_EX_TWOCLICKACTIV">LVS_EX_TWOCLICKACTIVATE</a>
|
||
also be set. See the <a href="#Remarks">Remarks</a> for a discussion of item
|
||
activation. <!-- @End changes to text -->
|
||
</dd>
|
||
</dl>
|
||
<!-- @Begin changes to text. -->
|
||
<h4><a name="Remarks">Remarks</a></h4>
|
||
<!-- "activatable" is rather clumsy, but I can't think of anything better offhand. Suggestions -->
|
||
<p>An item becomes <i>hot</i> when the mouse hovers over it. If hot-tracking is
|
||
enabled, hot items will be highlighted, but the user must still click the item
|
||
at least once to activate it. <i>Activating</i> an item causes the list view
|
||
control to send an <a href="Notifications/LVN_ITEMACTIVATE.htm">LVN_ITEMACTIVATE</a>
|
||
notification. An item is <i>activatable</i> when it is in a state where a single
|
||
click will activate it.</p>
|
||
<p>If the <a href="#LVS_EX_ONECLICKACTIVATE">LVS_EX_ONECLICKACTIVATE</a> style
|
||
is set, only one click is required to activate any item, so all items are
|
||
activatable. If the <a href="#LVS_EX_TWOCLICKACTIVATE">LVS_EX_TWOCLICKACTIVATE</a>
|
||
style is set, two clicks are required to activate an item. With this style, the
|
||
item becomes activatable only after it has been clicked once.</p>
|
||
<p>Setting the <a href="#LVS_EX_UNDERLINEHOT">LVS_EX_UNDERLINEHOT</a> style will
|
||
cause the text of a hot activatable item to be underlined. Setting the <a href="#LVS_EX_UNDERLINECOLD">LVS_EX_UNDERLINECOLD</a>
|
||
style will cause the text of items that are activatable but not hot to be
|
||
underlined.</p>
|
||
<!-- @End changes to text -->
|
||
<h1><a name="_win32_mc_styles"></a>Month calendar control styles</h1>
|
||
<p>The following are the styles used with month calendar controls.
|
||
<dl>
|
||
<dt><b><a name="MCS_DAYSTATE">MCS_DAYSTATE</a></b>
|
||
<dd><b>Version 4.70</b>. The month calendar will send <a href="notifications/MCN_GETDAYSTATE.htm#MCN_GETDAYSTATE">MCN_GETDAYSTATE</a>
|
||
notifications to request information about which days should be displayed in
|
||
bold. For more information about supporting this style, see <a href="MonthCal.htm#mc_processing_MCN_GETDAYSTATE">Processing
|
||
the MCN_GETDAYSTATE Notification Message</a>.
|
||
<dt><b><a name="MCS_MULTISELECT">MCS_MULTISELECT</a></b>
|
||
<dd><b>Version 4.70</b>. The month calendar will allow the user to select a
|
||
range of dates within the control. By default, the maximum range is one
|
||
week. You can change the maximum range that can be selected by using the <a href="messages/MCM_SETMAXSELCOUNT.htm#MCM_SETMAXSELCOUNT">MCM_SETMAXSELCOUNT</a>
|
||
message.
|
||
<dt><b><a name="MCS_NOTODAY">MCS_NOTODAY</a></b>
|
||
<dd><b>Version 4.70</b>. The month calendar control will not display the
|
||
"today" date at the bottom of the control.
|
||
<dt><b><a name="MCS_NOTODAYCIRCLE">MCS_NOTODAYCIRCLE</a></b>
|
||
<dd><b>Version 4.70</b>. The month calendar control will not circle the
|
||
"today" date. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="MCS_WEEKNUMBERS">MCS_WEEKNUMBERS</a></b>
|
||
<dd><b>Version 4.70</b>. The month calendar control will display week numbers
|
||
(1-52) to the left of each row of days. Week 1 is defined as the first week
|
||
that contains at least four days. <!-- @End changes to text -->
|
||
</dd>
|
||
</dl>
|
||
<h1>Pager Control Styles</h1>
|
||
<p>The following window styles are used when creating pager controls.
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td><b><a name="PGS_AUTOSCROLL">PGS_AUTOSCROLL</a></b></td>
|
||
<td>The pager control will scroll when the user hovers the mouse over one
|
||
of the scroll buttons.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="PGS_DRAGNDROP">PGS_DRAGNDROP</a></b></td>
|
||
<td>The contained window can be a drag-and-drop target. The pager control
|
||
will automatically scroll if an item is dragged from outside the pager
|
||
over one of the scroll buttons.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="PGS_HORZ">PGS_HORZ</a></b></td>
|
||
<td>Creates a pager control that can be scrolled horizontally. This style
|
||
and the <a href="Styles.htm#PGS_VERT">PGS_VERT</a> style are mutually
|
||
exclusive and cannot be combined.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="PGS_VERT">PGS_VERT</a></b></td>
|
||
<td>Creates a pager control that can be scrolled vertically. This is the
|
||
default direction if no direction style is specified. This style and the
|
||
<a href="Styles.htm#PGS_HORZ">PGS_HORZ</a> style are mutually exclusive
|
||
and cannot be combined.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1>Progress Bar Control Styles</h1>
|
||
<p>Progress bar controls now support control styles. You can set progress bar
|
||
styles in the same way as other common controls (<!-- a-link -->
|
||
<b>CreateWindowEx</b>, <!-- a-link -->
|
||
<b>GetWindowLong</b>, <!-- a-link -->
|
||
<b>SetWindowLong</b>). The following are the supported styles:
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td><b><a name="PBS_SMOOTH">PBS_SMOOTH</a></b></td>
|
||
<td><b>Version 4.70</b>. The progress bar displays progress status in a
|
||
smooth scrolling bar instead of the default segmented bar.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="PBS_VERTICAL">PBS_VERTICAL</a></b></td>
|
||
<td><b>Version 4.70</b>. The progress bar displays progress status
|
||
vertically, from bottom to top.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1><a name="_win32_rb_styles"></a>Rebar Control Styles</h1>
|
||
Rebar controls support a variety of control styles in addition to standard
|
||
window styles.
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td><b><a name="RBS_AUTOSIZE">RBS_AUTOSIZE</a></b></td>
|
||
<td><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.71</a>. The rebar
|
||
control will automatically change the layout of the bands when the size
|
||
or position of the control changes. An <a href="notifications/RBN_AUTOSIZE.htm#RBN_AUTOSIZE">RBN_AUTOSIZE</a>
|
||
notification will be sent when this occurs.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="RBS_BANDBORDERS">RBS_BANDBORDERS</a></b></td>
|
||
<td></td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a>. The rebar
|
||
control displays narrow lines to separate adjacent bands.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="RBS_DBLCLKTOGGLE">RBS_DBLCLKTOGGLE</a></b></td>
|
||
<td></td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.71</a>. The rebar
|
||
band will toggle its maximized or minimized state when the user
|
||
double-clicks on the band. Without this style, the maximized or
|
||
minimized state is toggled when the user single-clicks on the band.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="RBS_FIXEDORDER">RBS_FIXEDORDER</a></b></td>
|
||
<td></td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a>. The rebar
|
||
control always displays bands in the same order. You can move bands to
|
||
different rows, but the band order is static.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="RBS_REGISTERDROP">RBS_REGISTERDROP</a></b></td>
|
||
<td></td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.71</a>. The rebar
|
||
control generates <!-- a-link -->
|
||
<b>RBN_GETOBJECT</b> notification messages when an object is dragged
|
||
over a band in the control. To receive the <a href="notifications/RBN_GETOBJECT.htm#RBN_GETOBJECT">RBN_GETOBJECT</a>
|
||
notifications, initialize OLE with a call to <!-- a-link -->
|
||
<b>OleInitialize</b> or <!-- a-link -->
|
||
<b>CoInitialize</b>.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="RBS_TOOLTIPS">RBS_TOOLTIPS</a></b></td>
|
||
<td></td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a>. Not yet
|
||
supported.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="RBS_VARHEIGHT">RBS_VARHEIGHT</a></b></td>
|
||
<td></td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.70</a>. The rebar
|
||
control displays bands at the minimum required height, when possible.
|
||
Without this style, the rebar control displays all bands at the same
|
||
height, using the height of the tallest visible band to determine the
|
||
height of other bands.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="RBS_VERTICALGRIPPER">RBS_VERTICALGRIPPER</a></b> </td>
|
||
<td></td>
|
||
<td><a href="../common/Common.htm#cc_win32_ie">Version 4.71</a>. The size
|
||
grip will be displayed vertically instead of horizontally in a vertical
|
||
rebar control. This style is ignored for rebar controls that do not have
|
||
the <a href="../common/Styles.htm#CCS_VERT">CCS_VERT</a> style.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1><a name="_win32_tkb_styles"></a>Trackbar Control Styles</h1>
|
||
<p>This section contains information about the styles used with trackbar
|
||
controls.
|
||
<dl>
|
||
<dt><b><a name="TBS_AUTOTICKS">TBS_AUTOTICKS</a></b>
|
||
<dd>The trackbar control will have a tick mark for each increment in its range
|
||
of values.
|
||
<dt><b><a name="TBS_BOTH">TBS_BOTH</a></b>
|
||
<dd>The trackbar control will display tick marks on both sides of the control.
|
||
This will be both top and bottom when used with TBS_HORZ or both left and
|
||
right if used with TBS_VERT.
|
||
<dt><b><a name="TBS_BOTTOM">TBS_BOTTOM</a></b>
|
||
<dd>The trackbar control will display tick marks below the control. This style
|
||
is only valid with TBS_HORZ.
|
||
<dt><b><a name="TBS_ENABLESELRANGE">TBS_ENABLESELRANGE</a></b>
|
||
<dd>The trackbar control can display a selection range only. The tick marks at
|
||
the starting and ending positions of a selection range are displayed as
|
||
triangles (instead of vertical dashes), and the selection range is
|
||
highlighted.
|
||
<dt><b><a name="TBS_FIXEDLENGTH">TBS_FIXEDLENGTH</a></b>
|
||
<dd>The trackbar control allows the size of the slider to be changed with the <a href="messages/TBM_SETTHUMBLENGTH.htm#TBM_SETTHUMBLENGTH">TBM_SETTHUMBLENGTH</a>
|
||
message.
|
||
<dt><b><a name="TBS_HORZ">TBS_HORZ</a></b>
|
||
<dd>The trackbar control will be oriented vertically. This is the default
|
||
orientation.
|
||
<dt><b><a name="TBS_LEFT">TBS_LEFT</a></b>
|
||
<dd>The trackbar control will display tick marks to the left of the control.
|
||
This style is only valid with TBS_VERT.
|
||
<dt><b><a name="TBS_NOTHUMB">TBS_NOTHUMB</a></b>
|
||
<dd>The trackbar control does not display a slider.
|
||
<dt><b><a name="TBS_NOTICKS">TBS_NOTICKS</a></b>
|
||
<dd>The trackbar control will not display any tick marks. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="TBS_REVERSED">TBS_REVERSED</a></b>
|
||
<dd><b>Version 5.0. </b>This style bit is used for "reversed"
|
||
trackbars, where a smaller number indicates "higher" and a larger
|
||
number indicates "lower". It has no effect on the control, but is
|
||
simply a label that can be checked to determine whether a trackbar is normal
|
||
or reversed. <!-- @End changes to text -->
|
||
<dt><b><a name="TBS_RIGHT">TBS_RIGHT</a></b>
|
||
<dd>The trackbar control will display tick marks to the right of the control.
|
||
This style is only valid with TBS_VERT.
|
||
<dt><b><a name="TBS_TOOLTIPS">TBS_TOOLTIPS</a></b>
|
||
<dd><b>Version 4.70</b>. The trackbar control will support tooltips. When a
|
||
trackbar control is created using this style, it automatically creates a
|
||
default tooltip control that displays the slider's current position. You can
|
||
change where the tooltips are displayed by using the <a href="messages/TBM_SETTIPSIDE.htm#TBM_SETTIPSIDE">TBM_SETTIPSIDE</a>
|
||
message.
|
||
<dt><b><a name="TBS_TOP">TBS_TOP</a></b>
|
||
<dd>The trackbar control will display tick marks above the control. This style
|
||
is only valid with TBS_HORZ.
|
||
<dt><b><a name="TBS_VERT">TBS_VERT</a></b>
|
||
<dd>The trackbar control will be oriented vertically. This is the default
|
||
orientation.</dd>
|
||
</dl>
|
||
<h1><a name="_win32_tv_styles"></a>Tree View Control Window Styles</h1>
|
||
<p>The following window styles are used when creating tree view controls.
|
||
<dl>
|
||
<dt><b><a name="TVS_CHECKBOXES">TVS_CHECKBOXES</a></b>
|
||
<dd><b>Version 4.70</b>. Enables check boxes for items in a tree view control.
|
||
Effectively, when set to this style, the control creates and sets a state
|
||
image list using <!-- a-link -->
|
||
<b>DrawFrameControl</b>. For more information, see <a href="TreeView.htm#tv_state_image_indexes">Working
|
||
with state image indexes</a>. Once the control is created with this style,
|
||
it cannot be removed. If it is necessary to remove this style, the control
|
||
must be destroyed and a new one created in its place.
|
||
<dt><b><a name="TVS_DISABLEDRAGDROP">TVS_DISABLEDRAGDROP</a></b>
|
||
<dd>Prevents the tree view control from sending <a href="notifications/TVN_BEGINDRAG.htm#TVN_BEGINDRAG">TVN_BEGINDRAG</a>
|
||
notification messages.
|
||
<dt><b><a name="TVS_EDITLABELS">TVS_EDITLABELS</a></b>
|
||
<dd>Allows the user to edit the labels of tree view items.
|
||
<dt><b><a name="TVS_FULLROWSELECT">TVS_FULLROWSELECT</a></b>
|
||
<dd><b>Version 4.71</b>. Enables full-row selection in the tree view. The
|
||
entire row of the selected item is highlighted, and clicking anywhere on an
|
||
item's row will cause it to be selected. This style cannot be used in
|
||
conjunction with the <a href="Styles.htm#TVS_HASLINES">TVS_HASLINES</a>
|
||
style.
|
||
<dt><b><a name="TVS_HASBUTTONS">TVS_HASBUTTONS</a></b>
|
||
<dd>Displays plus (+) and minus (-) buttons next to parent items. The user
|
||
clicks the buttons to expand or collapse a parent item's list of child
|
||
items. To include buttons with items at the root of the tree view,
|
||
TVS_LINESATROOT must also be specified.
|
||
<dt><b><a name="TVS_HASLINES">TVS_HASLINES</a></b>
|
||
<dd>Uses lines to show the hierarchy of items.
|
||
<dt><b><a name="TVS_INFOTIP">TVS_INFOTIP</a></b>
|
||
<dd><b>Version 4.71</b>. The tree view control will send the <a href="notifications/TVN_GETINFOTIP.htm#TVN_GETINFOTIP">TVN_GETINFOTIP</a>
|
||
notification to obtain tooltip information.
|
||
<dt><b><a name="TVS_LINESATROOT">TVS_LINESATROOT</a></b>
|
||
<dd>Uses lines to link items at the root of the tree view control. This value
|
||
is ignored if TVS_HASLINES is not also specified. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="TVS_NOHSCROLL">TVS_NOHSCROLL</a></b>
|
||
<dd><a name="new"></a><b>Version 5.00</b>. Disables horizontal scrolling in
|
||
the control. The control will not display any horizontal scroll bars. <!-- @End -->
|
||
<dt><b><a name="TVS_NONEVENHEIGHT">TVS_NONEVENHEIGHT</a></b>
|
||
<dd><b>Version 4.71</b>. The height of the items can be set to an odd height
|
||
with the <a href="messages/TVM_SETITEMHEIGHT.htm#TVM_SETITEMHEIGHT">TVM_SETITEMHEIGHT</a>
|
||
message. By default, the height of items must be an even value.
|
||
<dt><b><a name="TVS_NOSCROLL">TVS_NOSCROLL</a></b>
|
||
<dd><b>Version 4.71</b>. Disables both horizontal and vertical scrolling in
|
||
the control. The control will not display any scroll bars.
|
||
<dt><b><a name="TVS_NOTOOLTIPS">TVS_NOTOOLTIPS</a></b>
|
||
<dd><b>Version 4.70</b>. The tree view control does not support tooltips.
|
||
<dt><b><a name="TVS_RTLREADING">TVS_RTLREADING</a></b> <!-- @Begin changes to text. -->
|
||
<dd><b>Version 4.70</b>. Normal windows display text left-to-right (LTR).
|
||
Windows can be <i>mirrored</i> to display languages such as Hebrew or Arabic
|
||
that read right-to-left (RTL). Normally, tree view text will be displayed in
|
||
same direction as the the text in its parent window. If TVS_RTLREADING is
|
||
set, tree view text will read in the opposite direction from the text in the
|
||
parent window. <!-- @End changes to text -->
|
||
<dt><b><a name="TVS_SHOWSELALWAYS">TVS_SHOWSELALWAYS</a></b>
|
||
<dd>Causes a selected item to remain selected when the tree view control loses
|
||
focus. <!-- @Begin changes to text. -->
|
||
<dt><b><a name="TVS_SINGLEEXPAND">TVS_SINGLEEXPAND</a></b>
|
||
<dd><b>Version 4.71</b>. When this style is enabled, changing the selection in
|
||
the tree view will automatically cause the item being selected to expand and
|
||
the item being unselected to collapse. If the mouse is used to single-click
|
||
the selected item and that item is closed, it will be expanded. If the user
|
||
holds the CTRL key down while selecting an item, the item being unselected
|
||
will not be collapsed.
|
||
<p><b>Version 5.0</b>. When this style is enabled, changing the selection
|
||
will automatically cause the item being selected to collapse if it was
|
||
expanded, or expand if it was collapsed. The unselected item will collapse.
|
||
If the user holds the CTRL key down while selecting an item, the item being
|
||
unselected will not be collapsed.</p>
|
||
<!-- @End changes to text -->
|
||
<dt><b><a name="TVS_TRACKSELECT">TVS_TRACKSELECT</a></b>
|
||
<dd><b>Version 4.70</b>. Enables hot tracking in a tree view control.</dd>
|
||
</dl>
|
||
<h1>Up-Down Control Styles</h1>
|
||
<p>The following styles are used when creating up-down controls:
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td><b><a name="UDS_ALIGNLEFT">UDS_ALIGNLEFT</a></b></td>
|
||
<td><font face="verdana,arial,helvetica" size="2">RCML
|
||
</font>
|
||
</td>
|
||
<td>Positions the up-down control next to the left edge of the buddy
|
||
window. The buddy window is moved to the right, and its width is
|
||
decreased to accommodate the width of the up-down control.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="UDS_ALIGNRIGHT">UDS_ALIGNRIGHT</a></b></td>
|
||
<td></td>
|
||
<td>Positions the up-down control next to the right edge of the buddy
|
||
window. The width of the buddy window is decreased to accommodate the
|
||
width of the up-down control.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="UDS_ARROWKEYS">UDS_ARROWKEYS</a></b></td>
|
||
<td></td>
|
||
<td>Causes the up-down control to increment and decrement the position
|
||
when the <small>UP ARROW</small> and <small>DOWN ARROW</small> keys are
|
||
pressed.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="UDS_AUTOBUDDY">UDS_AUTOBUDDY</a></b></td>
|
||
<td></td>
|
||
<td>Automatically selects the previous window in the z-order as the
|
||
up-down control's buddy window.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="UDS_HORZ">UDS_HORZ</a></b></td>
|
||
<td></td>
|
||
<td>Causes the up-down control's arrows to point left and right instead of
|
||
up and down.</td>
|
||
</tr>
|
||
<!-- @Begin changes to text. -->
|
||
<tr>
|
||
<td><b><a name="UDS_HOTTRACK">UDS_HOTTRACK</a></b></td>
|
||
<td></td>
|
||
<td>The control will exhibit "hot tracking" behavior. That is,
|
||
it will highlight the up and down arrows on the control as the pointer
|
||
passes over them. This style requires Windows 98 or Windows NT 5. If the
|
||
system is running Windows 95 or Windos NT 4, the flag is ignored. To
|
||
check whether or not hot tracking is enabled, call <!-- a-link -->
|
||
<b>SystemParametersInfo</b>.</td>
|
||
</tr>
|
||
<!-- @End -->
|
||
<tr>
|
||
<td><b><a name="UDS_NOTHOUSANDS">UDS_NOTHOUSANDS</a></b></td>
|
||
<td></td>
|
||
<td>Does not insert a thousands separator between every three decimal
|
||
digits.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="UDS_SETBUDDYINT">UDS_SETBUDDYINT</a></b></td>
|
||
<td></td>
|
||
<td>Causes the up-down control to set the text of the buddy window (using
|
||
the WM_SETTEXT message) when the position changes. The text consists of
|
||
the position formatted as a decimal or hexadecimal string.</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b><a name="UDS_WRAP">UDS_WRAP</a></b></td>
|
||
<td></td>
|
||
<td>Causes the position to "wrap" if it is incremented or
|
||
decremented beyond the ending or beginning of the range.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p> </p>
|
||
<p> </p>
|
||
<h5><a name="ChangeHistory">Change History</a></h5>
|
||
<table border="1" cellspacing="0" width="100%" bordercolor="#808080">
|
||
<tr>
|
||
<td>
|
||
<h5><font size="1">Date</font></h5>
|
||
</td>
|
||
<td>
|
||
<h5><font size="1">Changes Made</font></h5>
|
||
</td>
|
||
<td>
|
||
<h5><font size="1">Program Manager</font></h5>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>13 April</td>
|
||
<td>Remembered to fill in this list</td>
|
||
<td>FelixA</td>
|
||
</tr>
|
||
<tr>
|
||
<td>13 April</td>
|
||
<td>Added the MFC style explanations</td>
|
||
<td>FelixA</td>
|
||
</tr>
|
||
<tr>
|
||
<td>14 April</td>
|
||
<td>Added the common controls. Explaining what RCML syntax to use for
|
||
styles we support, and which styles we don't support.</td>
|
||
<td>FelixA.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>23 April</td>
|
||
<td>Added RESIZE="AUTOMATIC/DIRECTED", and RELATIVE="YES/
|
||
control ID" as well as the WIDER and TALLER attributes to LOCATION.</td>
|
||
<td> </td>
|
||
</tr>
|
||
</table>
|
||
<h5><a name="Appendix">Appendices</a></h5>
|
||
<p><a href="http://xsp/specs/core/xsp_msml.htm">For information on XML, click
|
||
here</a></p>
|
||
|
||
</body>
|
||
|
||
</html>
|
||
|