| 366 | |
| 367 | |
| 368 | void SComboBase::DropDown() |
| 369 | { |
| 370 | if(m_dwBtnState==WndState_PushDown) return; |
| 371 | |
| 372 | |
| 373 | if(!m_pDropDownWnd) |
| 374 | { |
| 375 | m_pDropDownWnd = new SDropDownWnd_ComboBox(this); |
| 376 | m_pDropDownWnd->SDispatchMessage(UM_SETSCALE, GetScale(), 0); |
| 377 | } |
| 378 | |
| 379 | EventCBDropdown evt(this); |
| 380 | evt.pDropDown = m_pDropDownWnd; |
| 381 | FireEvent(evt); |
| 382 | |
| 383 | CRect rcPopup; |
| 384 | BOOL bDown=CalcPopupRect(GetListBoxHeight(),rcPopup); |
| 385 | m_pDropDownWnd->Create(rcPopup,0); |
| 386 | |
| 387 | if(m_nAnimTime>0) |
| 388 | m_pDropDownWnd->AnimateHostWindow(m_nAnimTime,AW_SLIDE|(bDown?AW_VER_POSITIVE:AW_VER_NEGATIVE)); |
| 389 | else |
| 390 | m_pDropDownWnd->SetWindowPos(HWND_TOP,0,0,0,0,SWP_SHOWWINDOW|SWP_NOMOVE|SWP_NOZORDER|SWP_NOSIZE|SWP_NOACTIVATE); |
| 391 | |
| 392 | m_pDropDownWnd->CSimpleWnd::SetCapture(); |
| 393 | } |
| 394 | |
| 395 | void SComboBase::CloseUp() |
| 396 | { |
nothing calls this directly
no test coverage detected