⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wg__view_8cpp-source.html

📁 一个小巧的嵌入式图形系统wGUI, 可以用VC编译
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00088"></a><a class="code" href="classwGui_1_1CView.html#a4">00088</a> <span class="keywordtype">void</span> CView::AttachMenu(<a class="code" href="classwGui_1_1CMenu.html">CMenu</a>* pMenu)00089 {00090      <span class="keyword">delete</span> <a class="code" href="classwGui_1_1CView.html#n2">m_pMenu</a>;00091      <a class="code" href="classwGui_1_1CView.html#n2">m_pMenu</a> = pMenu;00092      <span class="keywordflow">if</span> (m_pMenu)00093      {00094           <a class="code" href="classwGui_1_1CView.html#n2">m_pMenu</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a2">SetWindowRect</a>(<a class="code" href="classwGui_1_1CRect.html">CRect</a>(0, 0, <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a23">Width</a>() - 1, <a class="code" href="classwGui_1_1CView.html#n2">m_pMenu</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a3">GetWindowRect</a>().<a class="code" href="classwGui_1_1CRect.html#a24">Height</a>()));00095           <a class="code" href="classwGui_1_1CWindow.html#n3">m_ClientRect</a>.<a class="code" href="classwGui_1_1CRect.html#a5">SetTop</a>(<a class="code" href="classwGui_1_1CView.html#n2">m_pMenu</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a3">GetWindowRect</a>().<a class="code" href="classwGui_1_1CRect.html#a24">Height</a>() + 1);00096           <a class="code" href="classwGui_1_1CWindow.html#n3">m_ClientRect</a>.<a class="code" href="classwGui_1_1CRect.html#a31">ClipTo</a>(<a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>);00097      }00098      <span class="keywordflow">else</span>00099      {00100           <a class="code" href="classwGui_1_1CWindow.html#n3">m_ClientRect</a> = <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>;00101      }00102 }00103 00104 <a name="l00105"></a><a class="code" href="classwGui_1_1CView.html#a6">00105</a> <span class="keywordtype">void</span> CView::SetWindowText(<span class="keyword">const</span> std::string&amp; sText)00106 {00107      CWindow::SetWindowText(sText);00108      SDL_WM_SetCaption(<a class="code" href="classwGui_1_1CWindow.html#n0">m_sWindowText</a>.c_str(), <span class="stringliteral">""</span>);00109 }00110 00111 <a name="l00112"></a><a class="code" href="classwGui_1_1CView.html#a7">00112</a> <span class="keywordtype">bool</span> CView::HandleMessage(<a class="code" href="classwGui_1_1CMessage.html">CMessage</a>* pMessage)00113 {00114      <span class="keywordtype">bool</span> bHandled = <span class="keyword">false</span>;00115 00116      <span class="keywordflow">if</span> (pMessage)00117      {00118           <span class="keywordflow">switch</span>(pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a2">MessageType</a>())00119           {00120           <span class="keywordflow">case</span> CMessage::APP_PAINT :00121                <span class="keywordflow">if</span> (pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == <span class="keyword">this</span> || pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == 0)00122                {00123                     <a class="code" href="classwGui_1_1CWindow.html#a23">StartDrawProc</a>();00124                     <span class="comment">// if this is a broadcasted message, don't mark it as handled</span>00125                     bHandled = (pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == <span class="keyword">this</span>);00126                }00127                <span class="keywordflow">break</span>;00128           <span class="keywordflow">case</span> CMessage::CTRL_RESIZE:00129           {00130                TPointMessage* pResizeMessage = dynamic_cast&lt;TPointMessage*&gt;(pMessage);00131                <span class="keywordflow">if</span> (pResizeMessage &amp;&amp; pResizeMessage-&gt;Source() == CApplication::Instance())00132                {00133                     Uint32 iFlags = SDL_HWSURFACE | SDL_ANYFORMAT;00134                     <span class="keywordflow">if</span>(m_bResizable)00135                     {00136                          iFlags |= SDL_RESIZABLE;00137                     }00138                     <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a8">SetBottom</a>(<a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a9">Top</a>() + pResizeMessage-&gt;Value().YPos());00139                     <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a7">SetRight</a>(<a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a10">Left</a>() + pResizeMessage-&gt;Value().XPos());00140                     <a class="code" href="classwGui_1_1CWindow.html#n3">m_ClientRect</a> = <a class="code" href="classwGui_1_1CRect.html">CRect</a>(0, 0, <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a23">Width</a>(), <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a24">Height</a>());00141                     <a class="code" href="classwGui_1_1CWindow.html#n6">m_pSDLSurface</a> = SDL_SetVideoMode(<a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a23">Width</a>(), <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a24">Height</a>(), DEFAULT_BPP, iFlags);00142                     <a class="code" href="classwGui_1_1CWindow.html#a23">StartDrawProc</a>();00143                }00144                <span class="keywordflow">break</span>;00145           }00146           <span class="keywordflow">case</span> CMessage::MOUSE_BUTTONDOWN:00147           {00148                <a class="code" href="classwGui_1_1CMouseMessage.html">CMouseMessage</a>* pMouseMessage = dynamic_cast&lt;CMouseMessage*&gt;(pMessage);00149                <span class="keywordflow">if</span> (pMouseMessage &amp;&amp; <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(pMouseMessage-&gt;<a class="code" href="classwGui_1_1CMouseMessage.html#m0">Point</a>) == CRect::RELPOS_INSIDE)00150                {00151                     <a class="code" href="classwGui_1_1CWindow.html#a25">OnMouseButtonDown</a>(pMouseMessage-&gt;<a class="code" href="classwGui_1_1CMouseMessage.html#m0">Point</a>, pMouseMessage-&gt;<a class="code" href="classwGui_1_1CMouseMessage.html#m2">Button</a>);00152                }00153                <span class="keywordflow">break</span>;00154           }00155           <span class="keywordflow">case</span> CMessage::MOUSE_BUTTONUP:00156           {00157                <a class="code" href="classwGui_1_1CMouseMessage.html">CMouseMessage</a>* pMouseMessage = dynamic_cast&lt;CMouseMessage*&gt;(pMessage);00158                <span class="keywordflow">if</span> (pMouseMessage &amp;&amp; <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(pMouseMessage-&gt;<a class="code" href="classwGui_1_1CMouseMessage.html#m0">Point</a>) == CRect::RELPOS_INSIDE)00159                {00160                     <a class="code" href="classwGui_1_1CWindow.html#a26">OnMouseButtonUp</a>(pMouseMessage-&gt;<a class="code" href="classwGui_1_1CMouseMessage.html#m0">Point</a>, pMouseMessage-&gt;<a class="code" href="classwGui_1_1CMouseMessage.html#m2">Button</a>);00161                }00162                <span class="keywordflow">break</span>;00163           }00164           <span class="keywordflow">default</span> :00165                bHandled = CWindow::HandleMessage(pMessage);00166                <span class="keywordflow">break</span>;00167           }00168      }00169 00170      <span class="keywordflow">return</span> bHandled;00171 }00172 00173 }00174 00175 </pre></div><hr><address style="align: right;"><small>Generated on Sat Oct 25 12:43:26 2003 for wGui by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -