📄 fg__radiobutton_8cpp-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>FishGUI: FG_RadioButton.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="main.html">首页</a> | <a class="qindex" href="modules.html">模块</a> | <a class="qindex" href="hierarchy.html">类继承关系</a> | <a class="qindex" href="classes.html">按字典顺序排序的列表</a> | <a class="qindex" href="annotated.html">组合类型列表</a> | <a class="qindex" href="files.html">文件列表</a> | <a class="qindex" href="functions.html">组合类型成员</a> | <a class="qindex" href="globals.html">文件成员</a></div><h1>FG_RadioButton.cpp</h1><a href="FG__RadioButton_8cpp.html">浏览该文件的文档。</a><div class="fragment"><pre>00001 <span class="comment">/*--------------------------------------------------------------------------</span>00002 <span class="comment"></span>00003 <span class="comment"> RadioButton.cpp - 收音机按钮类的实现文件</span>00004 <span class="comment"></span>00005 <span class="comment"> 本程序是FishGUI软件的一部分</span>00006 <span class="comment"></span>00007 <span class="comment"> 版权所有 (C) 2003,2004 王咏武</span>00008 <span class="comment"> http://www.contextfree.net/wangyw/</span>00009 <span class="comment"></span>00010 <span class="comment">----------------------------------------------------------------------------</span>00011 <span class="comment"></span>00012 <span class="comment"> 作者对 FishGUI 软件及其所有源代码授权如下:</span>00013 <span class="comment"></span>00014 <span class="comment"> 允许任何个人、组织、机构、企业无偿获得、修改、使用、重新发布 FishGUI 软</span>00015 <span class="comment"> 件及其源代码,或按照有偿或者无偿的方式发行基于 FishGUI 源代码的全部或部</span>00016 <span class="comment"> 分内容开发的软件产品,——但行使以上权利时,须遵守以下约定:</span>00017 <span class="comment"></span>00018 <span class="comment"> 1、重新发布 FishGUI 软件及其源代码时,不得隐去软件及其源代码中原有的版</span>00019 <span class="comment"> 权信息和开发者标识。</span>00020 <span class="comment"></span>00021 <span class="comment"> 2、发行基于 FishGUI 源代码的全部或部分内容开发的软件产品时,必须在产品</span>00022 <span class="comment"> 的显著位置标明以下字样:</span>00023 <span class="comment"></span>00024 <span class="comment"> 【本产品的一部分功能是基于王咏武在 FishGUI 软件中的工作完成的】</span>00025 <span class="comment"></span>00026 <span class="comment"> 3、在正式出版物中引用 FishGUI 的文档、源代码或注释内容的,应注明软件的</span>00027 <span class="comment"> 原作者为王咏武。</span>00028 <span class="comment"></span>00029 <span class="comment">--------------------------------------------------------------------------*/</span>00040 <span class="preprocessor">#include "../Utility/FG_Utility.h"</span>00041 <span class="preprocessor">#include "<a class="code" href="FG__RadioButton_8h.html">FG_RadioButton.h</a>"</span>00042 <a name="l00043"></a><a class="code" href="classFG__RadioButton.html#b3">00043</a> <a class="code" href="group__MsgMap__Define.html#ga1">BEGIN_MESSAGE_MAP</a>(<a class="code" href="classFG__RadioButton.html">FG_RadioButton</a>, <a class="code" href="classFG__TextWidget.html">FG_TextWidget</a>)00044 <a class="code" href="group__MsgMap__Define.html#ga2">ON_DRAW</a> (FG_RadioButton::OnDraw)00045 <a class="code" href="group__MsgMap__Define.html#ga5">ON_KEYDOWN</a> (FG_RadioButton::OnKeyDown)00046 <a class="code" href="group__MsgMap__Define.html#ga8">ON_LBUTTONDOWN</a> (FG_RadioButton::OnLButtonDown)00047 <a class="code" href="group__MsgMap__Define.html#ga15">END_MESSAGE_MAP</a>()00048 <a name="l00049"></a><a class="code" href="classFG__RadioButton.html#a0">00049</a> <a class="code" href="classFG__RadioButton.html#a0">FG_RadioButton::FG_RadioButton</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * Text, <span class="keyword">const</span> <a class="code" href="structFG__Rect.html">FG_Rect</a> & Rect, <a class="code" href="classFG__RadioButton.html">FG_RadioButton</a> * <span class="keyword">const</span> pSameGroup, <span class="keyword">const</span> <a class="code" href="group__Utility.html#ga1">WORD</a> wID)00050 : m_bChecked(false), <a class="code" href="classFG__TextWidget.html">FG_TextWidget</a>(Text, Rect, wID, <a class="code" href="group__Frame__Style.html#ga0">FS_NONE</a>)00051 {00052 <span class="keywordflow">if</span> (pSameGroup)00053 {00054 <a class="code" href="classFG__RadioButton.html#p1">m_pNext</a> = pSameGroup-><a class="code" href="classFG__RadioButton.html#p1">m_pNext</a>;00055 pSameGroup-><a class="code" href="classFG__RadioButton.html#p1">m_pNext</a> = <span class="keyword">this</span>;00056 }00057 <span class="keywordflow">else</span>00058 {00059 <a class="code" href="classFG__RadioButton.html#p1">m_pNext</a> = <span class="keyword">this</span>;00060 }00061 }00062 00063 <span class="comment">//##ModelId=3F65E8E3031A</span><a name="l00064"></a><a class="code" href="classFG__RadioButton.html#b0">00064</a> <span class="keywordtype">void</span> <a class="code" href="classFG__RadioButton.html#b0">FG_RadioButton::OnDraw</a>(<a class="code" href="classFG__OSAdaptor.html">FG_OSAdaptor</a> * pAdaptor)00065 {00066 pAdaptor-><a class="code" href="classFG__OSAdaptor.html#a3">BeginDraw</a>(m_Rect);00067 00068 <a class="code" href="classFG__Object.html#b6">FG_TextWidget::OnDraw</a>(pAdaptor);00069 00070 <a class="code" href="structFG__Rect.html">FG_Rect</a> rect;00071 <a class="code" href="classFG__Object.html#a3">GetClientRect</a>(rect);00072 <a class="code" href="group__Utility.html#ga1">WORD</a> y = rect.<a class="code" href="structFG__Rect.html#o1">wTop</a> + (rect.<a class="code" href="structFG__Rect.html#o3">wBottom</a> - rect.<a class="code" href="structFG__Rect.html#o1">wTop</a> + 1 - pAdaptor-><a class="code" href="classFG__OSAdaptor.html#a9">GetTextHeight</a>(<a class="code" href="classFG__TextWidget.html#a1">GetText</a>())) / 2;00073 00074 <span class="comment">// 绘制位图</span>00075 <span class="keywordflow">if</span> (m_bChecked)00076 pAdaptor-><a class="code" href="classFG__OSAdaptor.html#a10">DrawBitmap</a>(<span class="stringliteral">"Radio_EC"</span>, rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a>, y + 2);00077 <span class="keywordflow">else</span>00078 pAdaptor-><a class="code" href="classFG__OSAdaptor.html#a10">DrawBitmap</a>(<span class="stringliteral">"Radio_ENC"</span>, rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a>, y + 2);00079 00080 <span class="comment">// 绘制文本</span>00081 <span class="keywordflow">if</span> (<a class="code" href="classFG__TextWidget.html#a3">TextLength</a>())00082 {00083 <a class="code" href="group__Utility.html#ga1">WORD</a> x = rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a> + 14;00084 pAdaptor-><a class="code" href="classFG__OSAdaptor.html#a7">DrawText</a>(<a class="code" href="classFG__TextWidget.html#a1">GetText</a>(), x, y, m_ForeColor);00085 <a class="code" href="classFG__TextWidget.html#a4">DrawTextFocus</a>(pAdaptor, x, y);00086 }00087 00088 pAdaptor-><a class="code" href="classFG__OSAdaptor.html#a4">EndDraw</a>();00089 }00090 00091 <span class="comment">//##ModelId=3F65E8E3032E</span><a name="l00092"></a><a class="code" href="classFG__RadioButton.html#b1">00092</a> <span class="keywordtype">bool</span> <a class="code" href="classFG__RadioButton.html#b1">FG_RadioButton::OnKeyDown</a>(<a class="code" href="structFG__Message.html">FG_Message</a> * pMsg)00093 {00094 <span class="keywordflow">if</span> (pMsg-><a class="code" href="structFG__Message.html#o4">lData</a> == <a class="code" href="group__Virtual__Key.html#ga12">FVK_ENTER</a>)00095 {00096 <a class="code" href="classFG__RadioButton.html#d0">UncheckGroup</a>();00097 m_bChecked = <span class="keyword">true</span>;00098 <a class="code" href="classFG__Object.html#b4">RequestDraw</a>();00099 <a class="code" href="classFG__Object.html#b3">NotifyParent</a>(<a class="code" href="group__Utility.html#gga16a41">FRN_CHECKED</a>);00100 <span class="keywordflow">return</span> <span class="keyword">true</span>;00101 }00102 <span class="keywordflow">else</span>00103 <span class="keywordflow">return</span> <span class="keyword">false</span>;00104 }00105 00106 <span class="comment">//##ModelId=3F65E8E30342</span><a name="l00107"></a><a class="code" href="classFG__RadioButton.html#b2">00107</a> <span class="keywordtype">bool</span> <a class="code" href="classFG__RadioButton.html#b2">FG_RadioButton::OnLButtonDown</a>(<a class="code" href="structFG__Message.html">FG_Message</a> * pMsg)00108 {00109 <a class="code" href="classFG__RadioButton.html#d0">UncheckGroup</a>();00110 m_bChecked = <span class="keyword">true</span>;00111 <a class="code" href="classFG__Object.html#b4">RequestDraw</a>();00112 <a class="code" href="classFG__Object.html#b3">NotifyParent</a>(<a class="code" href="group__Utility.html#gga16a41">FRN_CHECKED</a>);00113 <span class="keywordflow">return</span> <span class="keyword">true</span>;00114 }00115 00116 <span class="comment">//##ModelId=3F65EDEC0183</span><a name="l00117"></a><a class="code" href="classFG__RadioButton.html#d0">00117</a> <span class="keywordtype">void</span> <a class="code" href="classFG__RadioButton.html#d0">FG_RadioButton::UncheckGroup</a>(<span class="keywordtype">void</span>)00118 {00119 <a class="code" href="classFG__RadioButton.html">FG_RadioButton</a> * pRadio = <a class="code" href="classFG__RadioButton.html#p1">m_pNext</a>;00120 00121 <span class="keywordflow">while</span> (pRadio != <span class="keyword">this</span>)00122 {00123 <span class="keywordflow">if</span> (pRadio-><a class="code" href="classFG__RadioButton.html#p0">m_bChecked</a>)00124 {00125 pRadio-><a class="code" href="classFG__RadioButton.html#p0">m_bChecked</a> = <span class="keyword">false</span>;00126 pRadio-><a class="code" href="classFG__Object.html#b4">RequestDraw</a>();00127 <a class="code" href="classFG__Object.html#b3">NotifyParent</a>(<a class="code" href="group__Utility.html#gga16a42">FRN_UNCHECKED</a>);00128 }00129 pRadio = pRadio-><a class="code" href="classFG__RadioButton.html#p1">m_pNext</a>;00130 }00131 }00132 </pre></div><hr><center>由 DoxyGen 1.3.6 于 Wed Jun 9 22:34:41 2004 生成<br>版权所有 (C) 2003,2004 王咏武</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -