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

📄 wg__dropdown_8cpp-source.html

📁 一个小巧的嵌入式图形系统wGUI, 可以用VC编译
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00088                <a class="code" href="classwGui_1_1CMouseMessage.html">CMouseMessage</a>* pMouseMessage = dynamic_cast&lt;CMouseMessage*&gt;(pMessage);00089                <span class="keywordflow">if</span> (pMouseMessage-&gt;<a class="code" href="classwGui_1_1CMouseMessage.html#m2">Button</a> == CMouseMessage::LEFT)00090                {00091                     <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a10">IsVisible</a>() &amp;&amp; <a class="code" href="classwGui_1_1CDropDown.html#n2">m_pDropButton</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a3">GetWindowRect</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_INSIDE00092                          &amp;&amp; <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a3">GetWindowRect</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)00093                     {00094                          <a class="code" href="classwGui_1_1CDropDown.html#b1">HideListBox</a>();00095                     }00096                }00097                <span class="keywordflow">break</span>;00098           }00099           <span class="keywordflow">case</span> CMessage::CTRL_LCLICK:00100           {00101                <span class="keywordflow">if</span> (pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == <span class="keyword">this</span>)00102                {00103                     <span class="keywordflow">if</span> (pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a4">Source</a>() == <a class="code" href="classwGui_1_1CDropDown.html#n2">m_pDropButton</a>)00104                     {00105                          <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a10">IsVisible</a>())00106                          {00107                               <a class="code" href="classwGui_1_1CDropDown.html#b1">HideListBox</a>();00108                          }00109                          <span class="keywordflow">else</span>00110                          {00111                               <a class="code" href="classwGui_1_1CDropDown.html#b0">ShowListBox</a>();00112                          }00113                          bHandled = <span class="keyword">true</span>;00114                     }00115                }00116                <span class="keywordflow">break</span>;00117           }00118           <span class="keywordflow">case</span> CMessage::CTRL_VALUECHANGE:00119           {00120                TIntMessage* pCtrlMessage = dynamic_cast&lt;TIntMessage*&gt;(pMessage);00121                <span class="keywordflow">if</span> (pCtrlMessage &amp;&amp; pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == <span class="keyword">this</span>)00122                {00123                     <span class="keywordflow">if</span> (pCtrlMessage-&gt;Source() == <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>)00124                     {00125                          <span class="keyword">const</span> <a class="code" href="structwGui_1_1SListItem.html">SListItem</a>&amp; ListItem = <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CListBox.html#a5">GetItem</a>(pCtrlMessage-&gt;Value());00126                          <a class="code" href="classwGui_1_1CDropDown.html#a2">SetWindowText</a>(ListItem.<a class="code" href="structwGui_1_1SListItem.html#m0">sItemText</a>);00127                          <a class="code" href="classwGui_1_1CDropDown.html#b1">HideListBox</a>();00128                          CMessageServer::Instance().QueueMessage(<span class="keyword">new</span> TIntMessage(CMessage::CTRL_VALUECHANGE, <a class="code" href="classwGui_1_1CWindow.html#n4">m_pParentWindow</a>, <span class="keyword">this</span>, 0));00129                          bHandled = <span class="keyword">true</span>;00130                     }00131                     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (pCtrlMessage-&gt;Source() == <a class="code" href="classwGui_1_1CDropDown.html#n0">m_pEditBox</a>)00132                     {00133                          <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CListBox.html#a11">SetAllSelections</a>(<span class="keyword">false</span>);00134                          <a class="code" href="classwGui_1_1CDropDown.html#b1">HideListBox</a>();00135                          CMessageServer::Instance().QueueMessage(<span class="keyword">new</span> TIntMessage(CMessage::CTRL_VALUECHANGE, <a class="code" href="classwGui_1_1CWindow.html#n4">m_pParentWindow</a>, <span class="keyword">this</span>, 0));00136                          bHandled = <span class="keyword">true</span>;00137                     }00138                }00139                <span class="keywordflow">break</span>;00140           }00141           <span class="keywordflow">default</span> :00142                bHandled = CWindow::HandleMessage(pMessage);00143                <span class="keywordflow">break</span>;00144           }00145      }00146 00147      <span class="keywordflow">return</span> bHandled;00148 }00149 00150 <a name="l00151"></a><a class="code" href="classwGui_1_1CDropDown.html#b0">00151</a> <span class="keywordtype">void</span> CDropDown::ShowListBox(<span class="keywordtype">void</span>)00152 {00153      <span class="keywordflow">if</span> (!<a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a10">IsVisible</a>())00154      {00155           <span class="comment">// This makes sure the ListBox is at the top of the order so it gets first shot at the OnMouseButtonDown/Up</span>00156           <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a24">SetNewParent</a>(<a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a8">GetAncestor</a>(<a class="code" href="classwGui_1_1CWindow.html#s2s0">PARENT</a>));00157           <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a11">SetVisible</a>(<span class="keyword">true</span>);00158           <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a23">StartDrawProc</a>();00159      }00160 }00161 00162 <a name="l00163"></a><a class="code" href="classwGui_1_1CDropDown.html#b1">00163</a> <span class="keywordtype">void</span> CDropDown::HideListBox(<span class="keywordtype">void</span>)00164 {00165      <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a10">IsVisible</a>())00166      {00167           <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#a11">SetVisible</a>(<span class="keyword">false</span>);00168           CMessageServer::Instance().QueueMessage(<span class="keyword">new</span> <a class="code" href="classwGui_1_1CMessage.html">CMessage</a>(CMessage::APP_PAINT, 0, <span class="keyword">this</span>));00169      }00170 }00171 00172 }00173 00174 </pre></div><hr><address style="align: right;"><small>Generated on Sat Oct 25 12:43:22 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 + -