📄 wg__dropdown_8cpp-source.html
字号:
00088 <a class="code" href="classwGui_1_1CMouseMessage.html">CMouseMessage</a>* pMouseMessage = dynamic_cast<CMouseMessage*>(pMessage);00089 <span class="keywordflow">if</span> (pMouseMessage-><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>-><a class="code" href="classwGui_1_1CWindow.html#a10">IsVisible</a>() && <a class="code" href="classwGui_1_1CDropDown.html#n2">m_pDropButton</a>-><a class="code" href="classwGui_1_1CWindow.html#a3">GetWindowRect</a>().<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(pMouseMessage-><a class="code" href="classwGui_1_1CMouseMessage.html#m0">Point</a>) != CRect::RELPOS_INSIDE00092 && <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-><a class="code" href="classwGui_1_1CWindow.html#a3">GetWindowRect</a>().<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(pMouseMessage-><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-><a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == <span class="keyword">this</span>)00102 {00103 <span class="keywordflow">if</span> (pMessage-><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>-><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<TIntMessage*>(pMessage);00121 <span class="keywordflow">if</span> (pCtrlMessage && pMessage-><a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == <span class="keyword">this</span>)00122 {00123 <span class="keywordflow">if</span> (pCtrlMessage->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>& ListItem = <a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-><a class="code" href="classwGui_1_1CListBox.html#a5">GetItem</a>(pCtrlMessage->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->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>-><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>-><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>-><a class="code" href="classwGui_1_1CWindow.html#a24">SetNewParent</a>(<a class="code" href="classwGui_1_1CDropDown.html#n1">m_pListBox</a>-><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>-><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>-><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>-><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>-><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 + -