2025-04-27 07:49:33 -04:00

107 lines
5.5 KiB
HTML
Raw Blame History

<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<meta HTTP-EQUIV="Expires" CONTENT="Tue, 04 May 1999 21:29:02 GMT">
<title>Developers</title>
<link rel="stylesheet" href="rcml.css" type="text/css">
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
<mso:Assigned_x0020_To msdt:dt="string">MarkCarr</mso:Assigned_x0020_To>
</mso:CustomDocumentProperties>
</xml><![endif]-->
</head>
<body>
<!-- Martian Text -->
<table border=0 cellpadding=0 cellspacing=0 height=39>
<tr>
<td><a class="logo" href="http://RCML">RCML</a>&nbsp;
<span class="logodot">.</span>&nbsp; <span class="logohead"><a href="customers.htm">customers</a>
</span>
<span class="logodot">.</span>&nbsp; <span class="logohead">Developers</span></td>
</tr>
</table>
<hr>
<!-- Site Directory -->
<p><span class="section">Developers</span>
<p><i><b>&quot;Win32 dialogs just aren't as whizzy as HTML. In HTML I can have 'resizable'
dialogs with colors and fonts and pictures ...&quot;</b></i></p>
<p>Win32 developers face a number of hurdles that are making Win32 applications
difficult to develop and achieve the richness of such things as HTML. New
platform UI advances are not being easily exposed resulting in a lack of
incentive to move to new versions of the operating system. A lot of the
functionality being added to the OS today requires the developer to re-write
their code to take advantage of it.</p>
<p>In general, RCML's goal is to reduce the amount of complex coded that needs to
be written to obtain common UI features.</p>
<p>Here is a list of examples of things that are require needless coding, are
too hard or just not possible right now:</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 rich text or HTML-like support in the static control (e.g.
links)</li>
<li>Tool-tips and context help too hard to implement</li>
<li>Tabbing order and mnemonics are easy to mess up</li>
<li>Resizable dialogs not possible without mammoth amount of coding</li>
<li>Showing delay dialogs for potentially time consuming operations</li>
<li>Displaying splash screens when application is starting</li>
<li>It is not possible to change the text on Message Box buttons</li>
<li>Providing the <20>Do not show me this again<69> option</li>
</ol>
<p>&nbsp;</p>
<p><span class="section">How does RCML address Developers needs?</span>
<p>To address the lack of extensibility of the existing resource format and
dialog box API, developers will be able to extend base implementation of the
RCML resource loader and customize it according to their needs.</p>
<p>RCML will provide an enhanced version of the DialogBox API (called
RCMLDialogBox) that will perform
a lot of the simple tasks that currently require menial coding. By using
attributes on the controls the loader performs a lot of the initialization tasks
without the developer having to write any code. For example, to set the minimum
and maximum values on a slider control, the developer would simply have to set
the MIN and MAX values in the RCML tag.</p>
<p>Where the platform has added new functionality, such as the filename
auto-completion in the Windows 2000 shell, the resource loader can be enhanced
to provide this in it<69>s DialogProc so that all RCML applications would get the
new functionality for free. This would mean that it would be advantageous for a
user to upgrade their OS to get this new functionality in their existing
applications.</p>
<p>Other features to address the other needs of the Win32 developer:</p>
<ul>
<li>Allow controls to be positioned relative to other controls</li>
<li>Allow display styles to be set declaratively using a STYLE tag</li>
<li>Tool-tips, context help and balloon tips made first class citizens in RCML
and handled automatically by the RCML dialog proc</li>
<li>Dynamically introspect the dialog to provide automatic resizing
capabilities with directed overrides by RCML authors</li>
<li>Use GDI+ to load any image format supported by GDI+</li>
<li>Add support for sound notifications on dialog controls</li>
<li>Provide a simple set of APIs for displaying delay dialogs and splash
screens with minimal coding effort</li>
<li>Provide support for automatically dealing with <20>don<6F>t show me this
again<69> dialogs</li>
</ul>
<p>&nbsp;</p>
<p>Finally, in order to provide an extensible model, it will be possible to
derive a new C++ loader class from the base RCML implementation shipped in the
OS. This way developers can over-ride any functionality they do not like and
extend the functionality that already exists.</p>
<hr>
<p>
<font FACE="Arial" SIZE="2">If you have any more needs, or wish
to debate the above, <a href="mailto:rcml@microsoft.com?subject=RCML%20:%20Developer%20Requests">click
here</a><p>
&nbsp;
</body>
</html>