<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[Corner Boy的学习日志]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[丈夫当删诗书，制礼乐，何至因循寄人篱下?]]></description>
<link>http://hi.baidu.com/richiechyi</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[轮廓字体的各种参数(转)]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/36e732e9dd579535b90e2d3d.html]]></link>
        <description><![CDATA[
		
		<h3><font size="2">From:http://pwnicopic.spaces.live.com/blog/cns!40b32fff8d7c01ae!154.entry</font></h3>
<h3>1. Baseline, pens and layouts</h3>
<p>The baseline is an imaginary line that is used to &quot;guide&quot; glyphs when rendering text. It can be horizontal (e.g. Roman, Cyrillic, Arabic, etc.) or vertical (e.g. Chinese, Japanese, Korean, etc). Moreover, to render text, a virtual point, located on the baseline, called the <em>pen position</em> or <em>origin</em>, is used to locate glyphs.</p>
<p>Each layout uses a different convention for glyph placement:</p>
<ul>
    <li>
    <p>With horizontal layout, glyphs simply &quot;rest&quot; on the baseline. Text is rendered by incrementing the pen position, either to the right or to the left.</p>
    <p>The distance between two successive pen positions is glyph-specific and is called the <em>advance width</em>. Note that its value is <em>always</em> positive, even for right-to-left oriented alphabets, like Arabic. This introduces some differences in the way text is rendered.</p>
    <p><em>The pen position is always placed on the baseline.</em></p>
    <p><em><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/f00cc8edbeeaf86179f055d0.jpg"></span></em></p>
    <p><span>3. Bearings and Advances </span></p>
    <p><em>Each glyph has also distances called bearings and advances. Their definition is constant, but their values depend on the layout, as the same glyph can be used to render text either horizontally or vertically: </em></p>
    <ul>
        <li>
        <p><em>Left side bearing or bearingX </em></p>
        <p><em>The horizontal distance from the current pen position to the glyph's left bbox edge. It is positive for horizontal layouts, and in most cases negative for vertical ones. </em></p>
        </li>
        <li>
        <p><em>Top side bearing or bearingY </em></p>
        <p><em>The vertical distance from the baseline to the top of the glyph's bbox. It is usually positive for horizontal layouts, and negative for vertical ones. </em></p>
        </li>
        <li>
        <p><em>Advance width or advanceX </em></p>
        <p><em>The horizontal distance the pen position must be incremented (for left-to-right writing) or decremented (for right-to-left writing) by after each glyph is rendered when processing text. It is always positive for horizontal layouts, and null for vertical ones. </em></p>
        </li>
        <li>
        <p><em>Advance height advanceY </em></p>
        <p><em>The vertical distance the pen position must be decremented by after each glyph is rendered. It is always null for horizontal layouts, and positive for vertical layouts. </em></p>
        </li>
        <li>
        <p><em>Glyph width </em></p>
        <p><em>The glyph's horizontal extent. For unscaled font coordinates, it is <tt><font face="新宋体">bbox.xMax-bbox.xMin</font></tt>. For scaled glyphs, its computation requests specific care, described in the grid-fitting chapter below. </em></p>
        </li>
        <li>
        <p><em>Glyph height </em></p>
        <p><em>The glyph's vertical extent. For unscaled font coordinates, it is <tt><font face="新宋体">bbox.yMax-bbox.yMin</font></tt>. For scaled glyphs, its computation requests specific care, described in the grid-fitting chapter below. </em></p>
        </li>
        <li>
        <p><em>Right side bearing </em></p>
        <p><em>Only used for horizontal layouts to describe the distance from the bbox's right edge to the advance width. It is in most cases a non-negative number: </em></p>
        <p><em><tt><font face="新宋体">advance_width - left_side_bearing - (xMax-xMin)</font></tt> </em></p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        </li>
    </ul>
    <p><em>Here is a picture giving all the details for horizontal metrics: </em></p>
    <p><br>
    <span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/7839f0fd118c696bd7887dd2.jpg"><br>
    </span></p>
    </li>
</ul> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Other">Other</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/36e732e9dd579535b90e2d3d.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-16  18:42</pubDate>
        <category><![CDATA[Other]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/36e732e9dd579535b90e2d3d.html</guid>
</item>

<item>
        <title><![CDATA[RChunk的用法示例]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/29afe209bc152f88d0581ba9.html]]></link>
        <description><![CDATA[
		
		<p>进程A中向Chunk中写入数据，进程B从Chunk中读取数据：</p>
<p>示例Chunk中数据结构为：</p>
<p>class TShareChunkStruct<br>
{<br>
public:<br>
 <br>
&nbsp;&nbsp;&nbsp;&nbsp;  TShareChunkStruct()<br>
&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   iNumber.Zero();<br>
&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
 <br>
 TBuf8&lt;32&gt; iNumber;<br>
};</p>
<p>A中对象声明成员RChunk iChunk;</p>
<p>并在实现中创建Chunky：</p>
<p>_LIT(KChunkName, &quot;CurrentNumber&quot;);<br>
 TInt result = iChunk.CreateGlobal(KChunkName, 0x100, 0x200); <br>
 if (KErrNone != result)<br>
 {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   logdebug((_L8(&quot;CreateGlobal() Err = %d&quot;), result));<br>
 }</p>
<p>在需要更新数据时：</p>
<p>TShareChunkStruct chunkData;<br>
&nbsp;&nbsp; chunkData.iNumber.Copy(iNumber);<br>
&nbsp;&nbsp;<br>
&nbsp;&nbsp;<strong><font color="#ff0000">TPckgBuf</font></strong>&lt;TShareChunkStruct&gt; dataPckgBuf(chunkData);<br>
&nbsp;&nbsp; // 将数据放入到共享内存中<br>
&nbsp;&nbsp; TUint8* uid = iChunk.Base();</p>
<p>进程B中读取数据：</p>
<p>_LIT(KChunkName, &quot;CurrentNumber&quot;);<br>
 RChunk chunk;<br>
 TInt result = chunk.OpenGlobal(KChunkName, EFalse);<br>
 if (KErrNone != result)<br>
 {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   logdebug((_L8(&quot;OpenGlobal() Error = %d&quot;), result));<br>
 }<br>
 else<br>
 {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TUint8* uid = chunk.Base();<br>
&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   <strong><font color="#ff0000">TPckgBuf</font></strong>&lt;TShareChunkStruct&gt; dataPckgBuf;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   Mem::Copy((TAny *)dataPckgBuf.Ptr(), uid, sizeof(TShareChunkStruct));<br>
&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  logdebug((dataPckgBuf().iNumber));</p>
<p>}</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/29afe209bc152f88d0581ba9.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-16  15:26</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/29afe209bc152f88d0581ba9.html</guid>
</item>

<item>
        <title><![CDATA[第五版手机模拟触屏操作来电时无声的操作(转)]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/a22f8f3e9ee5a8f0838b13b6.html]]></link>
        <description><![CDATA[
		
		<p> </p>
<p>最近在做来电检测的操作，想让来电自动变为无声状态，第三版是模拟一个右软键就可以实现，第五版上右软键的功能是给来电发送短信，查了一些资料，需要模拟一个触屏操作，点击无声按钮就可以，</p>
<p>  RWsSession ws;<br>
  ws.Connect();</p>
<p>  TRawEvent ev1;<br>
  TPoint pt(515, 100);<br>
  ev1.Set(TRawEvent::EButton1Down, pt.iX, pt.iY);<br>
  ws.SimulateRawEvent(ev1); // CAPABILITY Req. SwEvent<br>
  User::After(100000);<br>
  TRawEvent ev2;<br>
  ev2.Set(TRawEvent::EButton1Up, pt.iX, pt.iY);<br>
  ws.SimulateRawEvent(ev2); // CAPABILITY Req. SwEvent</p>
<p>  ws.Close();</p>
<p>需要注意的是发送消息的时候的坐标，是按照横屏时的坐标体系确定的，与正常应用的竖屏不一致。</p>
<p><br>
本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/stonesl/archive/2009/07/10/4336650.aspx">http://blog.csdn.net/stonesl/archive/2009/07/10/4336650.aspx</a></p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/a22f8f3e9ee5a8f0838b13b6.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-08  13:16</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/a22f8f3e9ee5a8f0838b13b6.html</guid>
</item>

<item>
        <title><![CDATA[各种状态面板]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/71775638fe0a022996ddd884.html]]></link>
        <description><![CDATA[
		
		<p>默认的面板就不在赘述。</p>
<p>1.</p>
<p>RESOURCE EIK_APP_INFO<br>
 {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   menubar = r_menubar;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  status_pane = r_status_pane_small;<br>
 }</p>
<p>RESOURCE STATUS_PANE_APP_MODEL r_status_pane_small<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  layout = R_AVKON_STATUS_PANE_LAYOUT_SMALL;<br>
}</p>
<p><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/c00339d1b22383fd552c8445.jpg"><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/1de99bd3a3e4301a950a1645.jpg"></span></span></p>
<p> </p>
<p><span><span>2.<br>
</span></span></p>
<p>RESOURCE EIK_APP_INFO<br>
 {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   menubar = r_menubar;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  status_pane = r_status_pane_small;<br>
 }</p>
<p>RESOURCE STATUS_PANE_APP_MODEL r_status_pane_small<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  layout = R_AVKON_STATUS_PANE_LAYOUT_SMALL_WITH_SIGNAL_PANE;<br>
}<br>
<span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/6ece85003cf248a9e850cd43.jpg"><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/a22f8f3ee93441d4838b1343.jpg"></span></span></p>
<p><span><span><span><span><br>
 </span></span></span></span></p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/71775638fe0a022996ddd884.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-05  18:52</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/71775638fe0a022996ddd884.html</guid>
</item>

<item>
        <title><![CDATA[开发证书具有的能力]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/5ce6a3ef47b8d1e5cf1b3ee4.html]]></link>
        <description><![CDATA[
		
		<table width="100%">
    <tbody>
        <tr>
            <td class="formSeparatorHeading"><strong>Capabilities for the certificate</strong></td>
        </tr>
    </tbody>
</table>
<table>
    <tbody>
        <tr>
            <td>CommDD<br>
            DiskAdmin<br>
            LocalServices<br>
            Location<br>
            MultimediaDD<br>
            NetworkControl<br>
            NetworkServices<br>
            PowerMgmt<br>
            ProtServ<br>
            ReadDeviceData<br>
            ReadUserData<br>
            SurroundingsDD<br>
            SwEvent<br>
            TrustedUI<br>
            UserEnvironment<br>
            WriteDeviceData<br>
            WriteUserData</td>
        </tr>
    </tbody>
</table> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/5ce6a3ef47b8d1e5cf1b3ee4.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-26  11:52</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/5ce6a3ef47b8d1e5cf1b3ee4.html</guid>
</item>

<item>
        <title><![CDATA[如何处理Setting Item Lis 6]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/fac3a40a5cee431594ca6bc6.html]]></link>
        <description><![CDATA[
		
		<p>关于Setting Item Lis的错误，参照<a href="http://wiki.forum.nokia.com/index.php/Setting_Item_List_panics">http://wiki.forum.nokia.com/index.php/Setting_Item_List_panics</a></p>
<h3><span class="mw-headline">Setting Item Lis 8 </span></h3>
<p>This happens if you create a Binary Switch Item from a resource file. The values for the <strong>AVKON_ENUMERATED_TEXT</strong> resources <strong>MUST</strong> be <em>one</em>(1) and <em>zero</em> (0).</p>
<a name="Setting_Item_Lis_7"></a>
<h3><span class="mw-headline">Setting Item Lis 7 </span></h3>
<p>Got it when used CAknBinaryPopupSettingItem instead of CAknEnumeratedTextPopupSettingItem in CreateSettingItemL(...).</p>
<a name="Setting_Item_Lis_6"></a>
<h3><span class="mw-headline">Setting Item Lis 6 </span></h3>
<p>This is the most common of these. It <strong>will</strong> happen if you create an enumerated text setting item and you set its input as a value that is not in the list. If you create the selection values dynamically, this will happen always if your input value is not zero.</p>
<p> </p>
<a name="Setting_Item_Lis_1"></a>
<h3><span class="mw-headline">Setting Item Lis 1 </span></h3>
<p>This Panic is related to creating a <strong>Text Setting Item</strong> in a Dynamic Setting List. It occurs if you forget to set empty item text i.e. if you forget to call <strong>SetEmptyItemTextL</strong> for <strong>CAknTextSettingItem</strong>.</p>
<p>This panic actually appears while editing the text setting item; when all the characters are erased and its text becomes empty.</p>
<p><strong><font color="#ff0000">如何处理Setting Item Lis 6?</font></strong></p>
<p><font color="#000000">参照<a href="http://wiki.forum.nokia.com/index.php/Create_Dynamic_Settings_Pages#Adding_Enumerated_Text_Item">http://wiki.forum.nokia.com/index.php/Create_Dynamic_Settings_Pages#Adding_Enumerated_Text_Item</a></font></p>
<p><font color="#000000"><span style="color: #666666">// Make sure the order numbers are updated</span><br>
order<span style="color: #000040">++</span><span style="color: #008080">;</span><br>
 <br>
<span style="color: #666666">// Hold the value for the item in temp variable and set it to zero</span><br>
TInt tmpvalue <span style="color: #000080">=</span> itemvalue<span style="color: #008080">;</span><br>
itemvalue <span style="color: #000080">=</span> <span style="color: #0000dd">0</span><span style="color: #008080">;</span><br>
enumitem <span style="color: #000080">=</span> <span style="color: #0000dd">new</span> <span style="color: #008000">(</span>ELeave<span style="color: #008000">)</span>CAknEnumeratedTextPopupSettingItem<span style="color: #008000">(</span>order, itemvalue<span style="color: #008000">)</span><span style="color: #008080">;</span><br>
enumitem<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>ConstructL<span style="color: #008000">(</span>IsNumberedStyle<span style="color: #008000">(</span><span style="color: #008000">)</span>, order, _L<span style="color: #008000">(</span><span style="color: #ff0000">&quot;Enum item&quot;</span><span style="color: #008000">)</span>, icons<br>
R_ENUMERATED_SETTING_PAGE, <span style="color: #000040">-</span>1, 0, R_POPUP_SETTING_TEXTS<span style="color: #008000">)</span><span style="color: #008080">;</span><br>
 <br>
<span style="color: #666666">// Get the value array</span><br>
texts <span style="color: #000080">=</span> enumitem<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>EnumeratedTextArray<span style="color: #008000">(</span><span style="color: #008000">)</span><span style="color: #008080">;</span><br>
<span style="color: #666666">// Empty it</span><br>
texts<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>ResetAndDestroy<span style="color: #008000">(</span><span style="color: #008000">)</span><span style="color: #008080">;</span><br>
texts<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>AppendL<span style="color: #008000">(</span><span style="color: #0000dd">new</span> CAknEnumeratedText<span style="color: #008000">(</span><span style="color: #0000dd">0</span>, _L<span style="color: #008000">(</span><span style="color: #ff0000">&quot;first (0)&quot;</span><span style="color: #008000">)</span>.<span style="color: #007788">AllocL</span><span style="color: #008000">(</span><span style="color: #008000">)</span><span style="color: #008000">)</span><span style="color: #008000">)</span><span style="color: #008080">;</span><br>
texts<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>AppendL<span style="color: #008000">(</span><span style="color: #0000dd">new</span> CAknEnumeratedText<span style="color: #008000">(</span><span style="color: #0000dd">1</span>, _L<span style="color: #008000">(</span><span style="color: #ff0000">&quot;second (1)&quot;</span><span style="color: #008000">)</span>.<span style="color: #007788">AllocL</span><span style="color: #008000">(</span><span style="color: #008000">)</span><span style="color: #008000">)</span><span style="color: #008000">)</span><span style="color: #008080">;</span><br>
texts<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>AppendL<span style="color: #008000">(</span><span style="color: #0000dd">new</span> CAknEnumeratedText<span style="color: #008000">(</span><span style="color: #0000dd">10</span>, _L<span style="color: #008000">(</span><span style="color: #ff0000">&quot;third (10)&quot;</span><span style="color: #008000">)</span>.<span style="color: #007788">AllocL</span><span style="color: #008000">(</span><span style="color: #008000">)</span><span style="color: #008000">)</span><span style="color: #008000">)</span><span style="color: #008080">;</span><br>
 <br>
<span style="color: #666666">// Set the real value for the item</span><br>
itemvalue <span style="color: #000080">=</span> tmpvalue<span style="color: #008080">;</span><br>
<span style="color: #666666">// Tell the control to load the value in</span><br>
enumitem<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>LoadL<span style="color: #008000">(</span><span style="color: #008000">)</span><span style="color: #008080">;</span><br>
items<span style="color: #000040">-</span><span style="color: #000080">&gt;</span>AppendL<span style="color: #008000">(</span>enumitem<span style="color: #008000">)</span><span style="color: #008080">;</span></font></p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/fac3a40a5cee431594ca6bc6.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-20  14:18</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/fac3a40a5cee431594ca6bc6.html</guid>
</item>

<item>
        <title><![CDATA[Symbian 中各种提示、输入对话框的使用(转)]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/c07ead51b8bc442e43a75b75.html]]></link>
        <description><![CDATA[
		
		<p>来源于：<a href="http://blog.csdn.net/sc_valentine21/archive/2008/04/08/2262880.aspx">http://blog.csdn.net/sc_valentine21/archive/2008/04/08/2262880.aspx</a></p>
<p>1、非阻塞提示框<br>
symbian定义了几个提示类，分别是：<br>
confirm类：CAknConfirmationNote<br>
info类： CAknInformationNote<br>
warning类：CAknWarningNote<br>
error类： CAknErrorNote<br>
头文件：aknnotewrappers.h<br>
lib：avkon.lib eikcdlg.lib eikctl.lib<br>
使用方法：<br>
Code:<br>
TBuf&lt;32&gt; buf;<br>
&nbsp;&nbsp;  buf.Copy(_L(&quot;info note&quot;));<br>
&nbsp;&nbsp;  CAknInformationNote* iInfoNote = new (ELeave) CAknInformationNote;<br>
&nbsp;&nbsp;  iInfoNote-&gt;ExecuteLD(buf);<br>
2、阻塞提示框<br>
void CEikonEnv::AlertWin(const TDesC&amp; aMsg);<br>
void CEikonEnv::AlertWin(const TDesC&amp; aMsg1,const TDesC&amp; aMsg2);<br>
static void CEikonEnv::InfoWinL(const TDesC&amp; aFirstLine,const TDesC&amp; aSecondLine);<br>
AlertWin为CEikonEnv类的非静态成员函数，InfoWinL为CEikonEnv类的静态成员函数。<br>
AlertWin只能在ui、view和container中使用，使用方法如下：<br>
Code:<br>
iEikonEnv-&gt;AlertWin(_L(&quot;text&quot;));<br>
InfoWinL可以在任意类中使用，使用方法如下：<br>
Code:<br>
CEikonEnv::Static()-&gt;InfoWinL(_L(&quot;note:&quot;), _L(&quot;text&quot;));<br>
为方便使用，常定义宏来使用这类提示框，如： <br>
Code:<br>
#define DEBUG_DIALOG(x) iEikonEnv-&gt;AlertWin(##x);<br>
#define DEBUG_DIALOG1(x) CEikonEnv::Static()-&gt;InfoWinL(_L(&quot;note:&quot;), ##x);<br>
#define DEBUG_DIALOG2(x,y) CEikonEnv::Static()-&gt;InfoWinL(##x, ##y);</p>
<p>可以这么使用：<br>
TBuf&lt;32&gt; buf;<br>
buf.Copy(_L(&quot;test&quot;));<br>
DEBUG_DIALOG(buf);<br>
DEBUG_DIALOG1(buf);<br>
DEBUG_DIALOG2(buf,_L(&quot;text&quot;));<br>
此类提示框阻塞线程，只有用户按键退出提示框后，后面的程序才能接着运行。<br>
3、进度条对话框<br>
进度条对话框类为：<br>
CAknProgressDialog <br>
头文件：aknprogressdialog.h<br>
lib： avkon.lib eikcdlg.lib eikctl.lib<br>
使用方法：<br>
Code:<br>
//初始化进度条<br>
CAknProgressDialog* iProgressDialog;<br>
CEikProgressInfo* iProgressInfo;<br>
&nbsp;&nbsp;  iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;CEikDialog**&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ( &amp;iProgressDialog ) );<br>
&nbsp;&nbsp;  iProgressDialog-&gt;SetCallback( this );<br>
&nbsp;&nbsp;  iProgressDialog-&gt;PrepareLC( R_RESOURCE_PROGRESS_NOTE );&nbsp;&nbsp;  //从资源文件构造对话框，资源见下面的定义<br>
&nbsp;&nbsp;  iProgressInfo = iProgressDialog-&gt;GetProgressInfoL();<br>
&nbsp;&nbsp;  iProgressInfo-&gt;SetFinalValue( aMaxValue );&nbsp;&nbsp;  //设置进度条的最大值（结束值）<br>
&nbsp;&nbsp;  iProgressDialog-&gt;RunLD();<br>
  <br>
&nbsp;&nbsp;  //更新进度条<br>
&nbsp;&nbsp;  iProgressInfo-&gt;IncrementAndDraw( aStep );  <br>
//结束进度条<br>
iProgressDialog-&gt;ProcessFinishedL();<br>
delete iProgressDialog;</p>
<p>RESOURCE DIALOG R_RESOURCE_PROGRESS_NOTE&nbsp;&nbsp;  //进度条对话框资源<br>
&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;  flags = EAknProgressNoteFlags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  buttons = R_AVKON_SOFTKEYS_CANCEL;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  type = EAknCtNote;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  id = EMagicBoxCtrlIdProgressNote;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_NOTE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  layout = EProgressLayout;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  singular_label = &quot;对话框中显示的文字&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  plural_label = &quot;download&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  imagefile = AVKON_BMPFILE_NAME;&nbsp;&nbsp;&nbsp;  //第二版中 图标文件为 #define AVKON_BMPFILE_NAME &quot;z:\\system\\data\\avkon.mbm&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  imageid = EMbmAvkonQgn_note_sml;&nbsp;&nbsp;  //这两项可更改显示不同图标<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  imagemask = EMbmAvkonQgn_note_sml_mask;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
4、等待对话框<br>
等待对话框要用到的类：<br>
CAknGlobalNote<br>
头文件：aknglobalnote.h <br>
lib：aknnotify.lib eiksrv.lib<br>
使用方法：<br>
Code:<br>
//显示等待对话框<br>
&nbsp;&nbsp;  CAknGlobalNote* globalNote = CAknGlobalNote::NewL();<br>
&nbsp;&nbsp;  CleanupStack::PushL( globalNote );<br>
&nbsp;&nbsp;  TInt iWaitNoteId = globalNote-&gt;ShowNoteL( EAknGlobalWaitNote, _L(&quot;对话框中显示的文字&quot;) );<br>
&nbsp;&nbsp;  CleanupStack::PopAndDestroy();<br>
  <br>
&nbsp;&nbsp;  //结束等待对话框<br>
&nbsp;&nbsp;  CAknGlobalNote * note = CAknGlobalNote::NewL();<br>
&nbsp;&nbsp;  CleanupStack::PushL( note );<br>
&nbsp;&nbsp;  note-&gt;CancelNoteL( iWaitNoteId );<br>
&nbsp;&nbsp;  CleanupStack::PopAndDestroy();<br>
注：<br>
CAknGlobalNote类除了显示等待对话框外还可显示多种类型的全局对话框，具体类型可通过ShowNoteL的第一个参数指定，可能的类型如下：</p>
<p>Code:<br>
enum TAknGlobalNoteType<br>
{<br>
EAknGlobalInformationNote = 1,<br>
EAknGlobalWarningNote,<br>
EAknGlobalConfirmationNote,<br>
EAknGlobalErrorNote,<br>
EAknGlobalChargingNote,<br>
EAknGlobalWaitNote,<br>
EAknGlobalPermanentNote,<br>
EAknGlobalNotChargingNote,<br>
EAknGlobalBatteryFullNote,<br>
EAknGlobalBatteryLowNote,<br>
EAknGlobalRechargeBatteryNote,<br>
EAknCancelGlobalNote,<br>
EAknGlobalTextNote<br>
};<br>
5、询问对话框<br>
询问对话框用到的类：<br>
CAknQueryDialog<br>
头文件：AknQueryDialog.h<br>
lib：avkon.lib<br>
使用方法：<br>
Code:<br>
CAknQueryDialog* dlg;<br>
dlg = CAknQueryDialog::NewL( CAknQueryDialog::ENoTone );<br>
dlg-&gt;PrepareLC( R_RESOURCE_QUERY_DIALOG ); //从资源文件构造对话框，资源见下面的定义<br>
TInt ret = dlg-&gt;RunLD();&nbsp;&nbsp;  //若用户选择&ldquo;是&rdquo;，返回非0，选择&ldquo;否&rdquo;，则返回0<br>
RESOURCE DIALOG R_RESOURCE_QUERY_DIALOG&nbsp;&nbsp;  //询问对话框资源<br>
&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;  flags = EGeneralQueryFlags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  buttons = R_AVKON_SOFTKEYS_YES_NO;&nbsp;&nbsp;  //CBA显示&ldquo;是&rdquo;和&ldquo;否&rdquo;两个按钮<br>
&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  type = EAknCtQuery;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  id = EGeneralQuery;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_CONFIRMATION_QUERY&nbsp;&nbsp;&nbsp;  //表示这是confirm询问对话框，用户选择&ldquo;是&rdquo;或&ldquo;否&rdquo;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  layout = EConfirmationQueryLayout;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  label = &quot;对话框中显示的文字&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
此类对话框可以有声音提示，由NewL的const TTone&amp; aTone参数指定，可能的值如下：<br>
Code:<br>
enum TTone {<br>
&nbsp;&nbsp;&nbsp;&nbsp;  /// No tone is played <br>
&nbsp;&nbsp;&nbsp;&nbsp;  ENoTone = 0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  /// A confirmation tone is played <br>
&nbsp;&nbsp;&nbsp;&nbsp;  EConfirmationTone = EAvkonSIDConfirmationTone, <br>
&nbsp;&nbsp;&nbsp;&nbsp;  /// A warning tone is played <br>
&nbsp;&nbsp;&nbsp;&nbsp;  EWarningTone = EAvkonSIDWarningTone,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  /// An error tone is played  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  EErrorTone = EAvkonSIDErrorTone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
通过定义不同的询问对话框资源，可实现不同的询问对话框，如让用户输入文字的询问对话框资源定义如下：<br>
Code:<br>
RESOURCE DIALOG R_RESOURCE_DATA_QUERY<br>
&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;  flags = EGeneralQueryFlags;<br>
&nbsp;&nbsp;  buttons = R_AVKON_SOFTKEYS_OK_CANCEL;&nbsp;&nbsp;  //CBA按钮显示&ldquo;确定&rdquo;和&ldquo;取消&rdquo;<br>
&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  type = EAknCtQuery;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  id = EGeneralQuery;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_DATA_QUERY&nbsp;&nbsp;  //表示这是data询问对话框，需要用户输入内容<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  layout = EDataLayout;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  label = &quot;提示内容&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = EDWIN<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  width = 30;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  lines = 2;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  maxlength = 159;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;  }&nbsp;&nbsp;&nbsp;  <br>
使用方法：<br>
Code:<br>
TBuf&lt;128&gt; msg;<br>
CAknTextQueryDialog* dlg = new (ELeave) CAknTextQueryDialog(msg,CAknQueryDialog::ENoTone);<br>
&nbsp;&nbsp;  TInt ret = dlg-&gt;ExecuteLD(R_RESOURCE_DATA_QUERY);<br>
用户输入内容后按&ldquo;确定&rdquo;，内容就存储到msg中，函数返回非0；按&ldquo;取消&rdquo;，函数返回0。<br>
这里用到的类是CAknQueryDialog的子类CAknTextQueryDialog。<br>
CAknQueryDialog的子类有：<br>
Code:<br>
CAknFloatingPointQueryDialog&nbsp;&nbsp;  //This class should be used when user is reguest to enter a flotaing point number<br>
&nbsp;&nbsp;  CAknFixedPointQueryDialog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //...<br>
&nbsp;&nbsp;  CAknDurationQueryDialog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //This class should be used when user is reguest to enter duration<br>
&nbsp;&nbsp;  CAknIpAddressQueryDialog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //This class should be used when user is reguest to enter IP address,@since 2.1<br>
&nbsp;&nbsp;  CAknMultiLineDataQueryDialog&nbsp;&nbsp;  //Query Dialog with data input on more than one line (2 lines at the moment)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Create using NewL methods and passing parameters as appropriate.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Attention: When deriving from this class, you must call SetDataL during <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  second phase construction.<br>
&nbsp;&nbsp;  CAknMultiLineIpQueryDialog&nbsp;&nbsp;&nbsp;&nbsp;  //...<br>
&nbsp;&nbsp;  CAknNumberQueryDialog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //This class should be used when user is reguest to enter number<br>
&nbsp;&nbsp;  CAknTextQueryDialog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //This class should be used when user is reguest to enter plain text, secret text, phonenumber or PIN-code<br>
CAknTimeQueryDialog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //This class should be used when user is reguest to enter time or date<br>
使用不同的类，资源文件会有所不同。<br>
另外，在资源中定义EDWIN时，可指定输入发，如： <br>
Code:<br>
control = EDWIN<br>
&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;  flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  width = 11;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  lines = 1;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  maxlength = 11;<br>
&nbsp;&nbsp;  avkon_flags = EAknEditorFlagFixedCase | <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  EAknEditorFlagNoT9 | EAknEditorFlagSupressShiftMenu;&nbsp;&nbsp;  //EAknEditorFlagSupressShiftMenu屏蔽切换输入法键<br>
&nbsp;&nbsp;  allowed_input_modes = EAknEditorNumericInputMode;<br>
&nbsp;&nbsp;  default_input_mode = EAknEditorNumericInputMode;<br>
&nbsp;&nbsp;  numeric_keymap = EAknEditorPlainNumberModeKeymap;<br>
&nbsp;&nbsp;  };<br>
以上写法表示默认输入法为数字，并且屏蔽了输入法切换键，即不能通过输入法切换键来切换输入法。<br>
6、编辑框<br>
编辑框使用的类：<br>
CEikGlobalTextEditor<br>
头文件：eikgted.h<br>
使用方法： <br>
Code:<br>
CEikGlobalTextEditor* iGKeyEd;<br>
TBuf&lt;128&gt; iKeyText;<br>
TResourceReader reader;<br>
&nbsp;&nbsp;  iCoeEnv-&gt;CreateResourceReaderLC( reader, R_RESOURCE_EDITOR );&nbsp;&nbsp;  //从资源文件构造编辑框，资源见下面的定义<br>
&nbsp;&nbsp;  iGKeyEd = new ( ELeave ) CEikGlobalTextEditor;<br>
&nbsp;&nbsp;  iGKeyEd-&gt;SetContainerWindowL( *this );<br>
&nbsp;&nbsp;  iGKeyEd-&gt;ConstructFromResourceL( reader );<br>
&nbsp;&nbsp;  CleanupStack::PopAndDestroy();&nbsp;&nbsp;  // Resource reader<br>
//设置编辑框的初始文本和位置，编辑框大小在资源中定义<br>
TBuf&lt;32&gt; buf;<br>
buf.Copy(_L(&quot;demo&quot;));<br>
iGKeyEd-&gt;SetTextL(&amp;buf);<br>
iGKeyEd-&gt;SetExtent( TPoint(5,2), iGKeyEd-&gt;MinimumSize() );<br>
iGKeyEd-&gt;SetFocus(ETrue);<br>
// iGKeyEd-&gt;SetReadOnly(ETrue);&nbsp;&nbsp;  //设置编辑框为只读</p>
<p>//使文字居中<br>
&nbsp;&nbsp;  CParaFormat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  paraFormat; <br>
&nbsp;&nbsp;  TParaFormatMask paraFormatMask;<br>
&nbsp;&nbsp;  paraFormatMask.SetAttrib( EAttAlignment );&nbsp;&nbsp;&nbsp;&nbsp;  // set mask<br>
&nbsp;&nbsp;  paraFormat.iHorizontalAlignment = CParaFormat::ECenterAlign;<br>
&nbsp;&nbsp;  iGKeyEd-&gt;ApplyParaFormatL( &amp;paraFormat, paraFormatMask );<br>
  <br>
&nbsp;&nbsp;  iGKeyEd-&gt;GetText(iKeyText); //获取编辑框中的内容，保存到iKeyText中<br>
RESOURCE GTXTED R_RESOURCE_EDITOR&nbsp;&nbsp;  //编辑框资源  <br>
&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;  flags = EAknEditorFlagDefault;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  width = 53;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  height = 16;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  numlines = 1;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  textlimit= 1;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  fontcontrolflags = EGulFontControlAll;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  fontnameflags = EGulNoSymbolFonts;<br>
//这里也可设置输入法<br>
//&nbsp;&nbsp;&nbsp;  avkon_flags = EAknEditorFlagFixedCase | <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  EAknEditorFlagNoT9 | EAknEditorFlagSupressShiftMenu;&nbsp;&nbsp;  //EAknEditorFlagSupressShiftMenu屏蔽切换输入法键<br>
//&nbsp;&nbsp;&nbsp;&nbsp;  allowed_input_modes = EAknEditorNumericInputMode;<br>
//&nbsp;&nbsp;&nbsp;&nbsp;  default_input_mode = EAknEditorNumericInputMode;<br>
//&nbsp;&nbsp;&nbsp;&nbsp;  numeric_keymap = EAknEditorPlainNumberModeKeymap;  <br>
&nbsp;&nbsp;  }<br>
注意，要使编辑框正常显示，记得更改container的CountComponentControls和ComponentControl函数，正确处理控件数目和编辑框指针。另外，要使编辑框能正常接收按键事件，要显示调用编辑框的OfferKeyEventL函数，如下：<br>
Code:<br>
TKeyResponse CMobileGuardSetKeyContainer::OfferKeyEventL( const TKeyEvent&amp; aKeyEvent, TEventCode aType )<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;  return iGKeyEd-&gt;OfferKeyEventL( aKeyEvent, aType );<br>
}<br>
 </p>
<p>本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/sc_valentine21/archive/2008/04/08/2262880.aspx">http://blog.csdn.net/sc_valentine21/archive/2008/04/08/2262880.aspx</a></p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/c07ead51b8bc442e43a75b75.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-10  11:20</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/c07ead51b8bc442e43a75b75.html</guid>
</item>

<item>
        <title><![CDATA[PKG中对中文文件名的支持]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/3023801cb4b45d8286d6b6d3.html]]></link>
        <description><![CDATA[
		
		PKG中对中文文件名的支持因makesis.exe的版本而异。3.0MR版本的SDK的makesis，对中文文件不支持。3.2的SDK的makesis支持中文文件，可将3.2SDK目录下的makesis.exe（C:\S60\devices\S60_3rd_FP2_SDK\epoc32\tools\makesis.exe）拷贝到3.0MR的SDK的对应目录，替换MR的makesis.exe即可。

另外，有的文章说将PKG改成UTF-8，后用UE去掉开头数个字节。我在3.0时这样操作未成功。现在用的PKG为notepad打开后，另存的Unicode big endian编码。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/3023801cb4b45d8286d6b6d3.html#comment">查看评论</a>]]></description>
        <pubDate>2009-09-09  15:22</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/3023801cb4b45d8286d6b6d3.html</guid>
</item>

<item>
        <title><![CDATA[如何实现设置面板（转）]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/31e45027df567c0a908f9dec.html]]></link>
        <description><![CDATA[
		
		<p>转自：<a href="http://wanliqunn.blog.163.com/blog/static/9865179200947451216/">http://wanliqunn.blog.163.com/blog/static/9865179200947451216/</a></p>
<p> </p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/31e45027df567c0a908f9dec.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-01  12:40</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/31e45027df567c0a908f9dec.html</guid>
</item>

<item>
        <title><![CDATA[symbian系统程序UID对应表（转）]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/c97c7410ddc348f5c2ce79b6.html]]></link>
        <description><![CDATA[
		
		<p>转自：<a href="http://careerman.blog.ccidnet.com/blog-htm-do-showone-uid-12026-type-blog-itemid-207963.html">http://careerman.blog.ccidnet.com/blog-htm-do-showone-uid-12026-type-blog-itemid-207963.html</a></p>
<p>查找UID的方法很简单，用SQ或者FILEMAN找到相应程序，查看属性类型就会出来，现在先提供些给大家做参考。<br>
<br>
<br>
0x1020dc97: FlashSms E:\System\Apps\FlashSms\FlashSms.app<br>
0x101f7736: SlovoEd E:\System\Apps\Slovoed\Slovoed.app<br>
0x101a0f9e: 2006 Olympics - Curling E:\System\Apps\[101a0f9e]\[101a0f9e].app<br>
0x10008d5e: TIM Z:\System\Apps\Operatormenu\Operatormenu.app<br>
0x101ff95c: Cartolina Z:\System\Apps\PostcardEditor\PostcardEditor.app<br>
0x101f4673: Chat Z:\System\Apps\Chat\Chat.app<br>
0x101f6de5: Gestione disp. Z:\System\Apps\NSmlDMSync\NSmlDMSync.app<br>
0x101f6de4: Sincronizz. Z:\System\Apps\NSmlDSSync\NSmlDSSync.app<br>
0x101f8681: Ch. video Z:\System\Apps\videotelui\videotelui.app<br>
0x101f8599: Galleria Z:\System\Apps\MediaGallery2\MediaGallery2.app<br>
0x101f85c7: Chiavi att. Z:\System\Apps\DRMRightsManager\DRMRightsManager.app<br>
0x10008d3c: PushViewer Z:\System\Apps\PushViewer\PushViewer.app<br>
0x101f4ce0: Z:\System\Apps\Satui\Satui.app<br>
0x100058f4: Startup Z:\System\Apps\Startup\Startup.app<br>
0x10005951: Bluetooth Z:\System\Apps\BtUi\BtUi.app<br>
0x10008d39: Web Z:\System\Apps\Browser\Browser.app<br>
0x10008d3f: Scarica Z:\System\Apps\DdViewer\DdViewer.app<br>
0x10008d4a: Scarica Z:\System\Apps\CodViewer\CodViewer.app<br>
0x101f8597: Configurazioni Z:\System\Apps\ProvisioningCx\ProvisioningCx.app<br>
0x101f79b3: Pagamenti Z:\System\Apps\WALLETAVOTA\WALLETAVOTA.app<br>
0x101f79b6: Pagamenti Z:\System\Apps\WALLETAVMGMT\WALLETAVMGMT.app<br>
0x100058ca: Registr. vocale Z:\System\Apps\Voicerecorder\Voicerecorder.app<br>
0x100058f5: Segret. telef. Z:\System\Apps\Vm\Vm.app<br>
0x101f8555: Comandi vocali Z:\System\Apps\VCommand\VCommand.app<br>
0x10005955: USSD Z:\System\Apps\Ussd\Ussd.app<br>
0x10005900: Impegni Z:\System\Apps\ToDo\ToDo.app<br>
0x1000590a: Chiam. rapida Z:\System\Apps\Speeddial\Speeddial.app<br>
0x100058bd: Z:\System\Apps\SmsViewer\SmsViewer.app<br>
0x100058bc: Z:\System\Apps\SmsEditor\SmsEditor.app<br>
0x101f4cf6: Rubrica SIM Z:\System\Apps\SimDirectory\SimDirectory.app<br>
0x101f8532: Web Z:\System\Apps\SchemeApp\SchemeApp.app<br>
0x10005a32: Temi Z:\System\Apps\PSLN\PSLN.app<br>
0x100058f8: Modi d&amp;#39;uso Z:\System\Apps\ProfileApp\ProfileApp.app<br>
0x1000590b: Preferiti Z:\System\Apps\Pinboard\Pinboard.app<br>
0x101f4cce: Rubrica Z:\System\Apps\Phonebook\Phonebook.app<br>
0x1000599d: Note Z:\System\Apps\NpdViewer\NpdViewer.app<br>
0x10005907: Note Z:\System\Apps\Notepad\Notepad.app<br>
0x06c5b9d2: Z:\System\Apps\MusicPlayer\MusicPlayer.app<br>
0x100058df: MMS Z:\System\Apps\MmsViewer\MmsViewer.app<br>
0x100058de: MMS Z:\System\Apps\MmsEditor\MmsEditor.app<br>
0x101f4666: Memory card Z:\System\Apps\mmcapp\mmcapp.app<br>
0x101f4cd2: Menu Z:\System\Apps\Menu\Menu.app<br>
0x10005a3f: MediaSettings Z:\System\Apps\MediaSettings\MediaSettings.app<br>
0x10005a3e: RealPlayer Z:\System\Apps\MediaPlayer\MediaPlayer.app<br>
0x100058c5: Messaggi Z:\System\Apps\mce\mce.app<br>
0x101f4ce4: E-mail Z:\System\Apps\MsgMailViewer\MsgMailViewer.app<br>
0x101f4cd6: E-mail Z:\System\Apps\MsgMailEditor\MsgMailEditor.app<br>
0x101f4cd5: Registro Z:\System\Apps\Logs\Logs.app<br>
0x101f4d90: Z:\System\Apps\ImageViewer\ImageViewer.app<br>
0x100058ec: Impostazioni Z:\System\Apps\GS\GS.app<br>
0x101f84eb: Gestione file Z:\System\Apps\FileManager\FileManager.app<br>
0x10005234: Guida Z:\System\Apps\cshelp\cshelp.app<br>
0x101f4668: Convertitore Z:\System\Apps\Converter\Converter.app<br>
0x101f84d0: Gestione conn. Z:\System\Apps\ConnectionMonitorUi\ConnectionMonitorUi.app<br>
0x10005903: Orologio Z:\System\Apps\ClockApp\ClockApp.app<br>
0x101f4cd3: Cell broadcast Z:\System\Apps\CbsUiApp\CbsUiApp.app<br>
0x101f857a: Fotocamera Z:\System\Apps\Camcorder\Camcorder.app<br>
0x10005901: Agenda Z:\System\Apps\Calendar\Calendar.app<br>
0x10005902: Calcolatrice Z:\System\Apps\Calcsoft\Calcsoft.app<br>
0x100059d2: Salva certificato Z:\System\Apps\CERTSAVER\CERTSAVER.app<br>
0x101f4ce5: Z:\System\Apps\bva\bva.app<br>
0x101f8512: Gestione appl. Z:\System\Apps\AppMngr\AppMngr.app<br>
0x10000419: Programma di installazion Z:\System\Apps\AppInst\AppInst.app<br>
0x10005a22: Info prodotto Z:\System\Apps\About\About.app<br>
0x101ffa84: Stampa immag. Z:\System\Apps\ImagePrintApp\ImagePrintApp.app<br>
0x101ff925: Gest. immagini Z:\System\Apps\Photoring\Photoring.app<br>
0x101ffa8f: Editor video Z:\System\Apps\ManualVideoEditor\ManualVideoEditor.app<br>
0x101ff93d: Trasferim. dati Z:\System\Apps\DataMoverCli\DataMoverCli.app<br>
0x100058f3: SysAp Z:\System\Apps\SysAp\SysAp.app<br>
0x100056cf: ScreenSaver Z:\System\Apps\ScreenSaver\ScreenSaver.app<br>
0x100058b3: Telefono Z:\System\Apps\Phone\Phone.app<br>
0x100059b5: Autolock Z:\System\Apps\Autolock\Autolock.app<br>
0x101feb57: Anti-Virus C:\System\Apps\AntiVirus\AntiVirus.app<br>
0x102085a5: ALON MP3 Dictaphone E:\System\Apps\AlonMP3Dictaphone\AlonMP3Dictaphone.app<br>
0x01040301: Restart E:\System\Apps\Restart\Restart.app<br>
0x10201f78: FontViewer E:\System\Apps\FontViewer\FontViewer.app<br>
0x10005b6e: SMS Send E:\System\Apps\smssend\smssend.app<br>
0x0123b325: Power Call E:\System\Apps\PowerCall\PowerCall.app<br>
0x200008b1: PhotoRite SP E:\System\Apps\PhotoRite\PhotoRite.app<br>
0x10273e40: BestDesk E:\System\Apps\BestDesk\BestDesk.app<br>
0x101c9917: Worms E:\System\Apps\[101c9917]\[101c9917].app<br>
0x101f5bbc: ImagePlus E:\System\Apps\ImagePlus\ImagePlus.app<br>
0x101fe224: QuadPicture E:\System\Apps\QuadPicture\QuadPicture.app<br>
0x10201de5: Earth Explorer E:\System\Apps\EARTHEX\EARTHEX.app<br>
0x101fb562: SplashPhoto E:\System\Apps\SplashPhoto\SplashPhoto.app<br>
0x101fedf1: FaceStore Snap E:\System\Apps\FWSnapS60\FWSnapS60.app<br>
0x101fd0d0: FlexiCam E:\System\Apps\FlexiCamPro\FlexiCamPro.app<br>
0x10274473: Stat Monitor E:\System\Apps\StatMonitor\StatMonitor.app<br>
0x01001128: Notepad E:\System\Apps\Notepad\Notepad.app<br>
0x1020de21: SMARTCOM PRO E:\System\Apps\photophone\photophone.app<br>
0x101bffcc: LOTR Trivia E:\System\Apps\[101bffcc]\[101bffcc].app<br>
0x101f4ded: Internet E:\System\Apps\Opera\Opera.app<br>
0x10200efe: Album Camera E:\System\Apps\CAMCORDERPLUS\CAMCORDERPLUS.app<br>
0x101ffd60: Album E:\System\Apps\NokiaAlbum\NokiaAlbum.app<br>
0x102753a1: WMAPlus! E:\System\Apps\wmaplus\wmaplus.app<br>
0x101a7ac9: Codice Fiscale E:\System\Apps\[101a7ac9]\[101a7ac9].app<br>
0x101fb456: Flash E:\System\Apps\saflash2\saflash2.app<br>
0x1020e173: InstantSis E:\System\Apps\InstantSis\InstantSis.app<br>
0x102032f1: SMSFace E:\System\Apps\SMSFace\SMSFace.app<br>
0x101facd1: SMS Counter E:\System\Apps\SmsCounter\SmsCounter.app<br>
0x10202a28: ProExplor E:\System\Apps\ProfiExplorer\ProfiExplorer.app<br>
0x101feafb: ProfiMail E:\System\Apps\ProfiMail\ProfiMail.app<br>
0x10201c1f: PhotoAcute E:\System\Apps\photoacute\photoacute.app<br>
0x101ff69a: MsgStorer E:\System\Apps\MessageStorer\MessageStorer.app<br>
0x101f7ed8: AppMan E:\System\Apps\AppMan\AppMan.app<br>
0x10208caa: Papyrus E:\System\Apps\Papyrus\Papyrus.app<br>
0x10206f81: Alarm Manager E:\System\Apps\AlarmManager\AlarmManager.app<br>
0x101fbade: Cool MMS E:\System\Apps\CoolMMS\CoolMMS.app<br>
0x101f8a5e: Space Impact E:\System\Apps\Athena\Athena.app<br>
0x1020152d: CallCheater E:\System\Apps\callcheater\callcheater.app<br>
0x101f76a0: CameraFX Pro E:\System\Apps\CAMERAFX\CAMERAFX.app<br>
0x102093bc: E:\System\Apps\EncSMS_Plus\EncSMS_Plus.app<br>
0x10201fe5: Frozen Bubble E:\System\Apps\FrozenBubble\FrozenBubble.app<br>
0x10008fa5: MobiReader E:\System\Apps\mobireader\mobireader.app<br>
0x10204a0d: Musica E:\System\Apps\Mplayer\Mplayer.app<br>
0x10200f84: Photo Editor E:\System\Apps\photoeditor\photoeditor.app<br>
0x101fe4e9: MMS It! E:\System\Apps\MMS_It\MMS_It.app<br>
0x101f90f8: sBirthday E:\System\Apps\SmartBirthday\SmartBirthday.app<br>
0x101f8d8a: Quickpoint E:\System\Apps\QuickPoint\QuickPoint.app<br>
0x101f8d8f: Quicksheet E:\System\Apps\QuickSheet\QuickSheet.app<br>
0x101f8d8d: Quickword E:\System\Apps\QuickWord\QuickWord.app<br>
0x10009af1: Handy Expense E:\System\Apps\Expense\Expense.app<br>
0x01ef0016: RiteViewer SP E:\System\Apps\RiteViewer\RiteViewer.app<br>
0x101feaf8: DVD E:\System\Apps\SmartMovie\SmartMovie.app<br>
0x101f4ce8: Snake EX E:\System\Apps\SnakeEx\SnakeEx.app<br>
0x102093bd: E:\System\Apps\SOneFakeSMS\SOneFakeSMS.app<br>
0x102093ba: EzSMS E:\System\Apps\SOneSMS_Plus\SOneSMS_Plus.app<br>
0x101fbf59: CellTrack E:\System\Apps\CellTrack\CellTrack.app<br>
0x1000a661: OggPlay E:\System\Apps\OggPlay\OggPlay.app<br>
0x042355c0: System Explorer E:\System\Apps\SystemExplorer\SystemExplorer.app<br>
0x10203127: TaskSpy E:\System\Apps\TaskSpy\TaskSpy.app<br>
0x10188014: Chi vuol esser Milionario E:\System\Apps\[10188014]\[10188014].app<br>
0x101f789c: Presenter E:\System\Apps\RCClient\RCClient.app<br>
0x101f81a8: Browser E:\System\Apps\Browser\Browser.app<br>
0x05f4ac79: Turn Off! E:\System\Apps\PhoneShutdown\PhoneShutdown.app<br>
0x0e7fd4f1: YaExplorer E:\System\Apps\YaExplorer\YaExplorer.app<br>
0x101e16ab: Raxle E:\System\Apps\[101e16ab]\[101e16ab].app<br>
0x101a93f2: MRK_BarzyMob E:\System\Apps\[101a93f2]\[101a93f2].app<br>
0x1020dc93: Guardian C:\System\Apps\Guardian\Guardian.app<br>
0x101f7bf1: FExplorer E:\System\Apps\FExplorer\FExplorer.app</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/c97c7410ddc348f5c2ce79b6.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-28  22:05</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/c97c7410ddc348f5c2ce79b6.html</guid>
</item>

<item>
        <title><![CDATA[关于TKeyCode和TStdScanCode]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/822c85fdb7cec31f08244dcd.html]]></link>
        <description><![CDATA[
		
		<p>1. 首先，枚举TKeyCode的定义因枚举值太多，后面的枚举值都是在ENonCharacterKeyBase基础上递增的，导致后面的枚举值不容易确定其具体值，这里以⑩为单位标注之。</p>
<p>enum <strong>TkeyCode</strong></p>
<p>{</p>
<p>EKeyNull=0x0000,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Null key. */<br>
EKeyBell=0x0007,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Bell key*/<br>
EKeyBackspace=0x0008,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Backspace key */<br>
EKeyTab=0x0009,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Tab key*/<br>
EKeyLineFeed=0x000a,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Linefeed key*/<br>
EKeyVerticalTab=0x000b,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Vertical tab key*/<br>
EKeyFormFeed=0x000c,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Form feed key*/<br>
EKeyEnter=0x000d,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Enter key */<br>
EKeyEscape=0x001b,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Escape key */<br>
EKeySpace=0x0020,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Space key*/<br>
EKeyDelete=0x007f,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Delete (Del) key*/<br>
EKeyPrintScreen=63488,&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Print screen key */<br>
EKeyPause=63489,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Pause key*/<br>
EKeyHome=63490,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Home key*/<br>
EKeyEnd,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the End key*/<br>
EKeyPageUp,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Page up key*/<br>
EKeyPageDown,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Page down key*/<br>
EKeyInsert,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Insert key*/<br>
EKeyLeftArrow,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Left arrow key*/<br>
EKeyRightArrow,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Right arrow key*/<br>
EKeyUpArrow,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Up arrow key*/<br>
EKeyDownArrow,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Down arrow key*/<br>
EKeyLeftShift,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the left Shift key*/<br>
EKeyRightShift=63500,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;  /**&lt; Code for the right Shift key*/<br>
EKeyLeftAlt,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the left Alt key*/<br>
EKeyRightAlt,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the right Alt key*/<br>
EKeyLeftCtrl,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the left Control (Ctrl) key*/<br>
EKeyRightCtrl,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the right Control (Ctrl) key.*/<br>
EKeyLeftFunc,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the left Fn key.*/<br>
EKeyRightFunc,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the right Fn key.*/<br>
EKeyCapsLock,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Caps lock key.*/<br>
EKeyNumLock,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Num lock key.*/<br>
EKeyScrollLock,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Scroll lock key.*/<br>
EKeyF1=63510,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F1 function key.*/<br>
EKeyF2,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F2 function key.*/<br>
EKeyF3,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F3 function key.*/<br>
EKeyF4,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F4 function key.*/<br>
EKeyF5,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F5 function key.*/<br>
EKeyF6,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F6 function key.*/<br>
EKeyF7,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F7 function key.*/<br>
EKeyF8,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F8 function key.*/<br>
EKeyF9,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F9 function key.*/<br>
EKeyF10,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F10 function key.*/<br>
EKeyF11=63520,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F11 function key.*/<br>
EKeyF12,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F12 function key.*/<br>
EKeyF13,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F13 function key.*/<br>
EKeyF14,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F14 function key.*/<br>
EKeyF15,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F15 function key.*/<br>
EKeyF16,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F16 function key.*/<br>
EKeyF17,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F17 function key.*/<br>
EKeyF18,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F18 function key.*/<br>
EKeyF19,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F19 function key.*/<br>
EKeyF20,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F20 function key.*/<br>
EKeyF21=63530,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F21 function key.*/<br>
EKeyF22,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F22 function key.*/<br>
EKeyF23,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F23 function key.*/<br>
EKeyF24,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the F24 function key.*/<br>
EKeyOff,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Off key.*/<br>
EKeyIncContrast,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Increase contrast key.*/<br>
EKeyDecContrast,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Decrease contrast key.*/<br>
EKeyBacklightOn,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Backlight on key.*/<br>
EKeyBacklightOff,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Backlight off key.*/<br>
EKeyBacklightToggle,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Backlight toggle key.*/<br>
EKeySliderDown=63540,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Slider down key.*/<br>
EKeySliderUp,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Slider up key.*/<br>
EKeyMenu,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Menu key.*/<br>
EKeyDictaphonePlay,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Dictaphone play key.*/<br>
EKeyDictaphoneStop,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Dictaphone stop key.*/<br>
EKeyDictaphoneRecord,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Dictaphone record key.*/<br>
EKeyHelp,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Help key.*/<br>
EKeyDial,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Dial key.*/<br>
EKeyScreenDimension0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the first Screen dimension change key.*/<br>
EKeyScreenDimension1,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the second Screen dimension change key.*/<br>
EKeyScreenDimension2=63550,&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the third Screen dimension change key.*/<br>
EKeyScreenDimension3,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the fourth Screen dimension change key.*/<br>
EKeyIncVolume,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the increase colume key.*/<br>
EKeyDecVolume,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the decrease volume key.*/<br>
EKeyDevice0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice1,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice2,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key. */<br>
EKeyDevice3,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice4,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice5,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice6=63560,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice7,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice8,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice9,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDeviceA,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDeviceB,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDeviceC,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDeviceD,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDeviceE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDeviceF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyApplication0=63570,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication1,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication2,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication3,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication4,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication5,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication6,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication7,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication8,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication9,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplicationA=63580,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplicationB,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplicationC,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplicationD,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplicationE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplicationF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyYes,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the Yes key.*/<br>
EKeyNo,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the No key.*/<br>
EKeyIncBrightness,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the increase brightness key.*/<br>
EKeyDecBrightness,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for the decrease brightness key. */<br>
EKeyKeyboardExtend=63590,&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for flip actuated when keypad extends to full keyboard.*/<br>
EKeyDevice10,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice11,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice12,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key. */<br>
EKeyDevice13,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice14,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice15,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice16,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice17,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice18,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice19=63600,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice1A,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice1B,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice1C,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice1D,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice1E,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyDevice1F,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for a device specific key.*/<br>
EKeyApplication10,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication11,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication12,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication13=63610,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication14,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication15,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication16,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication17,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication18,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication19,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication1A,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication1B,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication1C,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication1D=63620,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication1E,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /**&lt; Code for an Application launcher key.*/<br>
EKeyApplication1F&nbsp;&nbsp;&nbsp;</p>
<p>};</p>
<p>2. 下图是基本功能键对应的StdScanCode和KeyCode</p>
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/3646f813cbff3305dc5401ad.jpg"></div> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/822c85fdb7cec31f08244dcd.html#comment">查看评论</a>]]></description>
        <pubDate>2009-06-20  13:30</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/822c85fdb7cec31f08244dcd.html</guid>
</item>

<item>
        <title><![CDATA[Grid(九宫格)详细介绍]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/47f4a145e2fe623786947312.html]]></link>
        <description><![CDATA[
		
		<a href="http://www.forum.nokia.com/document/Cpp_Developers_Library/GUID-96C272CA-2BED-4352-AE7C-E692B193EC06/html/Grids_API4.html">http://www.forum.nokia.com/document/Cpp_Developers_Library/GUID-96C272CA-2BED-4352-AE7C-E692B193EC06/html/Grids_API4.html</a> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/47f4a145e2fe623786947312.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-15  13:38</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/47f4a145e2fe623786947312.html</guid>
</item>

<item>
        <title><![CDATA[TTime::FormatL详解（转）]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/e991e31640991a10962b43d9.html]]></link>
        <description><![CDATA[
		
		<p>一直对Time::FormatL()的使用迷迷糊糊，今天找了个让人很眼亮的文章，转载一下，并感谢作者！</p>
<p>下面为转载内容，原文取自：<a href="http://coastline.freepgs.com/?p=15">http://coastline.freepgs.com/?p=15</a></p>
<p>TTime::FormatL详解<br>
Coastline保留本文所有权利，转载请注明出处。</p>
<p>示例：<br>
TTime time;<br>
Time.HomeTime();<br>
TBuf&lt;32&gt; timeBuf;<br>
time.FormatL(timeBuf,_L(&ldquo;%F%Y/%M/%D,%H:%T:%S&rdquo;)); // 2008/08/16,21:22:22</p>
<p>详解：<br>
格式串分为本地相关和本地无关格式串，也就是说和系统的时间日期中设置的格式是否相关。<br>
以下所有格式字符都要加%<br>
<strong>本地无关：<br>
%</strong>：因为%是参数字符，所以需要输出%的时候，要用两个连续的%%进行转义<br>
<strong>*</strong>：加在%后，表示需要缩写，比如%*T表示对分钟进行缩写，如果不是两位数，则去掉前导0<br>
<strong>C</strong>：6位的微秒，%C默认是6位的，%*C2表示只取前两位，%*C4则取前4位<br>
<strong>S</strong>：2位的秒，加*去掉前导0<br>
<strong>T</strong>：2位的分，加*去掉前导0<br>
<strong>H</strong>：24小时制的时，加*去掉前导0<br>
<strong>I</strong>：12小时制的时，加不加*都会去掉前导0<br>
<strong>F</strong>：%F参数表示D/M/Y三个参数都是本地无关的，按照格式串原样输出，%F需要用在%D、%M、%Y之前<br>
<strong>D</strong>：2位的日，加*去掉前导0<br>
<strong>M</strong>：2位的月，加*去掉前导0<br>
<strong>Y</strong>：4位的年，加*去掉前两个数字，比如2008只显示08<br>
<strong>E</strong>：星期，英文环境下，Sunday~Saturday，加*显示缩写，Sun~Sat；中文环境下，星期一~星期日，加*显示缩写，一~日<br>
<strong>N</strong>：月的名称，英文环境下，January~December，加*显示缩写，Jan~Dec；中文环境下，1月~12月，加*显示缩写，阿拉伯数字1~12。注意1月~12月数字都是阿拉伯数字，而不是汉字一~十二<br>
<strong>W</strong>：2位数字，当前日期处于一年中的第几周，加*去掉前导0<br>
<strong>X</strong>：日期后缀。例如%*D%X显示形如3rd（三号），%D%X显示形如02nd（二号）<br>
<strong>Z</strong>：3位数字，当前日期处于一年中的第几天，加*去掉前导0</p>
<p><br>
<strong>本地相关</strong>：<br>
.：（点号）%.默认是小数点，表示分隔秒与毫秒之间的字符。可以通过TLocale::SetDecimalSeparator()设定。<br>
:：（冒号）%:表示获取本地设置中的时间分隔符，紧跟一个0~3范围的数字来指定哪一个日期分隔符。<br>
格式如下：S0 XX S1 YY S2 ZZ S3，其中XX、YY、ZZ代表时分秒，S0~S3代表4个分隔符。%:0表示第一个分隔符，依此类推。需要注意的是，本地设置中的时间分隔符只提供冒号和点号两种字符。当然，可以通过TLocale:: SetTimeSeparator()对4个分隔符进行设置，模拟器和真机都未试验成功，待机状态的时间分隔符未更改。<br>
/：（斜杠）%/表示获取本地设置中的日期分隔符，和上面一条类似。XX、YY、ZZ代表年月日，其顺序可以通过TLocale:: SetDateFormat()设置。对于分隔符，本地设置中提供4种字符以供选择，不过只对S1和S2有效，S0和S3总是空字符。通过SetDateSeparator()可以对4个分隔符S0~S3进行分别设定，且可以是不同的，在模拟器和真机上都试验成功，待机状态的日期分隔符被成功修改，但是进入系统的时间日期设定时，模拟器和真机均崩溃。<br>
1：%1，本地设置中&ldquo;年月日&rdquo;顺序中的第一个。年月日顺序可以通过TLocale::SetDateFormat()进行设定，格式如下：<br>
EDateAmerican US format (mm/dd/yyyy) 此时%1是月<br>
EDateEuropean European format (dd/mm/yyyy) 此时%1是日<br>
EDateJapanese Japanese format (yyyy/mm/dd) 此时%1是年<br>
中国习惯上采用小日本格式<br>
2：%2，本地设置中&ldquo;年月日&rdquo;顺序中的第二个。<br>
3：%3，本地设置中&ldquo;年月日&rdquo;顺序中的第三个。<br>
4：%4，和%2冗余，本地设置中是EDateAmerican的话，%4是日；EDateEuropean、EDateJapanese的%4是月<br>
5：%5，和%3冗余，本地设置中是EDateAmerican、EDateEuropean的话，%4是年；EDateJapanese的%4是日<br>
所以，在本地相关的格式串中（没有%F参数），调用年月日可以直接使用%1%2%3即可，无需加上%M%D%Y（一般在需要去掉前导0的时候才需要加上%*M%*D%*Y），分隔符全部使用%/1即可（因为本地的设置中只有S1和S2有效，并且是相同的），当然年月日顺序是个问题，如果需要指定顺序，那肯定用%F的本地无关格式串了，那样简单直观地多，格式串也不容易写错。</p>
<p>A：不管本地设置中是12小时制还是24小时制，%A表示am/pm总是显示。TLocale:: SetAmPmSpaceBetween()这个方法用来设置是否在时间和am/pm中间留有空格，显然这个设置会影响到最终格式化后的字符串。%*A会强制压缩这个空格，不管本地是否设置了空格（需要注意的是，这里提到的本地设置，不一定在系统的时间日期中有设置选项，因为对于用户而言，只需要设定常用的几个设置即可，比如这个AmPmSpaceBetween空格，在时间日期中就没有设置选项，系统默认是有空格的）。至于格式化后的字符串中am/pm出现在时间的前面还是后面，就要看格式串怎么写了：%I:%T:%S%A，显示10:21:36 pm，%A%I:%T:%S，显示pm 10:21:36<br>
A的扩展选项：<br>
在A前面可以加上+或者-，<br>
%+A表示只有TLocale:: AmPmSymbolPosition()被设置为ELocaleAfter时，才往格式化后的字符串中插入am/pm；<br>
%-A表示只有TLocale:: AmPmSymbolPosition()被设置为ELocaleBefore时，才往格式化后的字符串中插入am/pm。<br>
很显然TLocale:: AmPmSymbolPosition()这个设置在时间日期设置中也是没有的。<br>
eg：%-A%I:%T:%S%+A这个串格式化之后的字符串中am/pm出现的位置和设定中的一致。<br>
%-A%I:%T:%S%则表示只有设定了am/pm标志在前的情况下，am/pm才被插入到格式化后的字符串的开头。<br>
B：和A唯一的区别就是只有在12小时制情况下才显示am/pm。同样也有%-B、%+B两种扩展选项。<br>
J：判断本地设置是12小时制还是24小时制。%J表示本地设置是12小时制的情况下，在%J之后出现的前导0都被强制去除，所以有了%J参数，没有必要再加*号。</p>
<p>注意点：<br>
使用%F表示本地无关时，不能使用%1~%5参数<br>
不使用%F参数时，%M、%D、%Y参数不起任何作用，但是%*M、%*D、%*Y起到去除前导0（%*Y是取2位数年份）的作用<br>
SDK中指出：当使用%/0、%/1、%/2、%/3分隔%1~%5代表的日期的时候（或者使用%:0、%:1、%:2、%:3分隔%H、%I、%T、%S代表的时间的时候），4个分隔符都要被指定，尽管系统默认S0和S3都是&rsquo;\0&rsquo;（空字符）。个人理解这么做是为了让格式串尽量规范，容易被读懂，事实上这4个分隔符想怎么用就怎么用，不用都行，唯一的限制在于：当使用%.分隔秒和微秒的时候，%.应当被放在S2和S3的中间。（其实说到底%.系统默认就是点号，一般程序员也不会无聊到调用TLocale::SetDecimalSeparator()方法来更改这个分隔符的）</p>
<p> </p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/e991e31640991a10962b43d9.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-13  15:36</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/e991e31640991a10962b43d9.html</guid>
</item>

<item>
        <title><![CDATA[Symbian 自启动]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/3def057a5c92eee52f73b343.html]]></link>
        <description><![CDATA[
		
		<p>假设你的应用ID为：ef37946b<br>
<strong>1) 在data下新建一个文件， [ef37946b].rss（注意加上[]）</strong><br>
#include &lt;startupitem.rh&gt;<br>
RESOURCE STARTUP_ITEM_INFO dispatcher<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  executable_name = &quot;!:\\sys\\bin\\AutoStart.exe&quot;; <br>
&nbsp;&nbsp;&nbsp;  recovery = EStartupItemExPolicyNone;<br>
}<br>
此处的AutoStart.exe是你的应用程序文件名。<br>
注：笔者视图通过此处改为其他应用程序名启动，但是没有成功。<br>
<strong>2) 在mmp文件中增加以下代码</strong><br>
START RESOURCE [ef37946b].rss <br>
TARGETPATH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  \private\101f875a\import <br>
HEADER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
END<br>
确保：<br>
LANG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SC<br>
CAPABILITY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ReadUserData<br>
注意&ldquo;\private\101f875a\import&rdquo;不能够变。<br>
<strong>3) 在pkg文件中增加以下代码</strong><br>
&quot;$(EPOCROOT)Epoc32\Data\z\private\101f875a\import[ef37946b].rSC&quot; - &quot;!:\private\101f875a\import\[ef37946a].rSC&quot;<br>
如果是采用carbidec++2.0编译，那么你可以使用上述代码<br>
如果是使用makesis命令行打包或者使用.Net编译，那么你需要修改成绝对路径，路径名视你的安装目录而定。<br>
例如：<br>
&quot;C:\Symbian\9.1\S60_3rd_MR\Epoc32\Data\z\private\101f875a\import[ef37946b].rSC&quot;-&quot;!:\private\101f875a\import\[ef37946a].rSC&quot;</p>
<p><strong>有时候是否自启动需要通过配置来由用户控制，做法如下：</strong></p>
<p><strong>第一步：</strong><br>
XXXX_reg.rss中：<br>
APP_REGISTRATION_INFO增加opaque_data = r_startup_type; 并在该文件中定义<br>
RESOURCE NUMBER_INT8 r_startup_type<br>
{<br>
value = 1;<br>
}</p>
<p>这还需要包含&lt;uikon.rh&gt;</p>
<p><strong>第二步：</strong><br>
AppUi中重写TBool ProcessCommandParametersL(CApaCommandLine &amp;aCommandLine);</p>
<p>TBool CXXXXAppUi::ProcessCommandParametersL(CApaCommandLine &amp;aCommandLine)<br>
{<br>
if (aCommandLine.OpaqueData().Length() &gt; 0)<br>
{<br>
&nbsp;&nbsp;  // 手动启动<br>
}<br>
else<br>
{<br>
&nbsp;&nbsp;  // 自启动<br>
&nbsp;&nbsp;<br>
&nbsp;&nbsp;  // TODO: 读取配置..<br>
&nbsp;&nbsp;  if (自启动配置为关闭状态)<br>
&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  Exit();<br>
&nbsp;&nbsp;  }<br>
}<br>
<br>
return CEikAppUi::ProcessCommandParametersL(aCommandLine);<br>
}</p>
<p>今天（2009-10-21）碰到安装到Card Memory后无法自启动的情况，但安装到Phone Memory是可以的。原因可参照：<a href="http://www.forum.nokia.com/document/Cpp_Developers_Library/GUID-96C272CA-2BED-4352-AE7C-E692B193EC06/html/Startup_List_Management_API4.html#Startup_List_Management_API_17">http://www.forum.nokia.com/document/Cpp_Developers_Library/GUID-96C272CA-2BED-4352-AE7C-E692B193EC06/html/Startup_List_Management_API4.html#Startup_List_Management_API_17</a></p>
<p>须将[12345678].rsc和要自启动的exe和相关文件在PKG中硬编码安装到Phone Memory。</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/3def057a5c92eee52f73b343.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-08  10:28</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/3def057a5c92eee52f73b343.html</guid>
</item>

<item>
        <title><![CDATA[S60平台UI资源 &#9758; 对话框(下)]]></title>
        <link><![CDATA[http://hi.baidu.com/richiechyi/blog/item/9ee8a6caecf63f8ec817685a.html]]></link>
        <description><![CDATA[
		
		<p><strong>多行请求对话框</strong></p>
<p align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/7362e243db42433072f05d40.jpg"></p>
<p><br>
RESOURCE DIALOG r_aknexquery_multi_line_date_and_duration_layout<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = EGeneralQueryFlags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  buttons = R_AVKON_SOFTKEYS_OK_CANCEL;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  type = <font color="#800000">EAknCtMultilineQuery</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  id = <font color="#800000">EMultilineFirstLine</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_DATA_QUERY<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  layout = EMultiDataFirstDateEd;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  label = qtn_aknexquery_date_label_text;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = DATE_EDITOR<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  minDate = DATE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  year = AKNEXQUERY_DATE_EDITOR_MIN_DATE;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  maxDate = DATE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  year = AKNEXQUERY_DATE_EDITOR_MAX_DATE;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = AKNEXQUERY_DATE_EDITOR_FLAGS;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  type = <font color="#800000">EAknCtMultilineQuery</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  id = <font color="#800000">EMultilineSecondLine</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_DATA_QUERY<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  layout = EMultiDataSecondDurEd;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  label = qtn_aknexquery_dura_label_text;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = DURATION_EDITOR<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  minDuration = DURATION<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  maxDuration = DURATION<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  seconds = AKNEXQUERY_DURATION_EDITOR_MAX_SECOND;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = AKNEXQUERY_DURATION_EDITOR_FLAGS;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
}<br>
多行请求对话框对应的类是：CAknMultiLineDataQueryDialog。下面代码示例之：<br>
TTime topDateTime;<br>
topDateTime.Set(bufferRes);<br>
topDateTime.HomeTime();<br>
TTimeIntervalSeconds bottomDuration = 300; // set timer to 5 minutes<br>
<strong>CAknMultiLineDataQueryDialog</strong>* dlg = CAknMultiLineDataQueryDialog::NewL</p>
<p>(topDateTime,bottomDuration);</p>
<p>// launch the dialog with resource<br>
if (dlg-&gt;ExecuteLD(R_AKNEXQUERY_MULTI_LINE_DATE_AND_DURATION_LAYOUT))<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  // ok pressed, date and time (duration) are TTime objects<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  // containing the entered date and time (duration) in the editors.<br>
}</p>
<p align="left"><strong>列表请求对话框</strong></p>
<p align="center" forimg="1"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/72ca43cf0677001ef9dc61af.jpg"></p>
<div forimg="1"><br>
RESOURCE DIALOG r_demo_list_query<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = EGeneralQueryFlags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  buttons = R_AVKON_SOFTKEYS_OK_CANCEL;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  type = <font color="#800000">EAknCtListQueryControl</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  id = EListQueryControl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_LIST_QUERY_CONTROL<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listtype = <font color="#800000">EAknCtSinglePopupMenuListBox</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listbox = LISTBOX<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = EAknListBoxMenuList;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  height = 3;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  width = 10;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  array_id = r_demo_list_query_item;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  heading = &quot;Select one item:&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
}</div>
<p>RESOURCE <font color="#800000">ARRAY</font> r_demo_list_query_item<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF {txt = &quot;First item&quot;; },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF {txt = &quot;Second item&quot;; },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF {txt = &quot;Third item&quot;; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
}<br>
有另外一种定义列表请求对话框的方法，是使用资源结构AVKON_LIST_QUERY代替DIALOG</p>
<p>结构，它是在DIALOG基础上定义的，示例如下：<br>
RESOURCE AVKON_LIST_QUERY r_demo_list_query<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = EGeneralQueryFlags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  softkeys = R_AVKON_SOFTKEYS_OK_CANCEL;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  AVKON_LIST_QUERY_DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_LIST_QUERY_CONTROL<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listtype = <font color="#800000">EAknCtSinglePopupMenuListBox</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listbox = AVKON_LIST_QUERY_LIST<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  array_id = r_demo_list_query_item;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  heading = &quot;Select one item:&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
}<br>
列表请求对话框对应的类是：CAknListQueryDialog。下面代码示例之：<br>
TInt index( 0 );<br>
<strong>CAknListQueryDialog</strong>* dlg = new( ELeave ) CAknListQueryDialog( &amp;index );</p>
<p>// launch the dialog with resource R_DEMO_MULTILINE_DATE_AND_TIME_QUERY<br>
if ( dlg-&gt;ExecuteLD(R_DEMO_LIST_QUERY) )<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  // ok pressed, index is the selected item index.<br>
}</p>
<p><strong>多选列表请求对话框</strong></p>
<p align="center" forimg="1"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/richiechyi/pic/item/0156fe11308ae733b8127b78.jpg"></p>
<div forimg="1" align="left"><br>
可以使用资源结构DIALOG或AVKON_MULTISELECTION_LIST_QUERY来定义多选列表请求对</div>
<p>话框。<br>
RESOURCE <font color="#800000">DIALOG</font> r_demo_multiselection_query<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = EGeneralQueryFlags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  buttons = R_AVKON_SOFTKEYS_OK_CANCEL;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  type = <font color="#800000">EAknCtListQueryControl</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  id = EListQueryControl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_LIST_QUERY_CONTROL<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listtype = <font color="#800000">EAknCtSingleGraphicPopupMenuListBox</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listbox = LISTBOX<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  flags = EAknListBoxMultiselectionList;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  height = 3;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  width = 3;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  array_id = r_demo_multiselection_query_list_item;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  heading = &quot;Select items:&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
}</p>
<p>RESOURCE <font color="#800000">AVKON_MULTISELECTION_LIST_QUERY</font> r_demo_multiselection_query<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  // flags = EGeneralQueryFlags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  // softkeys = r_avkon_softkeys_ok_cancel;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  control = AVKON_LIST_QUERY_CONTROL<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listtype = <font color="#800000">EAknCtSingleGraphicPopupMenuListBox</font>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  listbox = AVKON_MULTISELECTION_LIST_QUERY_LIST<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  array_id= r_demo_multiselection_query_list_item;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  heading = &quot;Select items:&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
}</p>
<p>RESOURCE <font color="#800000">ARRAY</font> r_demo_multiselection_query_list_item<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  items =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF { txt = &quot;1\tItem1&quot;; },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF { txt = &quot;1\tItem2&quot;; },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF { txt = &quot;1\tItem3&quot;; },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF { txt = &quot;1\tItem4&quot;; },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  LBUF { txt = &quot;1\tItem5&quot;; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  };<br>
}<br>
多选列表请求对话框对应的类是：CAknListQueryDialog。下面代码示例之：<br>
CArrayFixFlat&lt;TInt&gt;* indexArray = new(ELeave)CArrayFixFlat&lt;TInt&gt;(5);<br>
CleanupStack::PushL(indexArray);</p>
<p><strong>CAknListQueryDialog</strong>* dlg = new (ELeave) CAknListQueryDialog(indexArray);<br>
if ( dlg-&gt;ExecuteLD(R_DEMO_MULTISELECTION_QUERY ) )<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  // ok pressed, indexArray is the array of the indices of the selected items.<br>
}<br>
CleanupStack::PopAndDestroy();// indexArray</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/richiechyi/blog/category/Symbian">Symbian</a>&nbsp;<a href="http://hi.baidu.com/richiechyi/blog/item/9ee8a6caecf63f8ec817685a.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-02  21:38</pubDate>
        <category><![CDATA[Symbian]]></category>
        <author><![CDATA[RichieChyi]]></author>
		<guid>http://hi.baidu.com/richiechyi/blog/item/9ee8a6caecf63f8ec817685a.html</guid>
</item>


</channel>
</rss>