107 lines
5.5 KiB
HTML
107 lines
5.5 KiB
HTML
<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>
|
||
<span class="logodot">.</span> <span class="logohead"><a href="customers.htm">customers</a>
|
||
</span>
|
||
<span class="logodot">.</span> <span class="logohead">Developers</span></td>
|
||
</tr>
|
||
</table>
|
||
|
||
<hr>
|
||
|
||
<!-- Site Directory -->
|
||
<p><span class="section">Developers</span>
|
||
<p><i><b>"Win32 dialogs just aren't as whizzy as HTML. In HTML I can have 'resizable'
|
||
dialogs with colors and fonts and pictures ..."</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> </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> </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>
|
||
|
||
</body>
|
||
</html>
|