BOOL SImagePlayer::_PlayFile( LPCTSTR pszFileName, BOOL bGif ) { SStringW key=S_CT2W(pszFileName); SSkinPool *pBuiltinSkinPool = SSkinPoolMgr::getSingletonPtr()->GetBuiltinSkinPool(); ISkinObj *pSkin=pBuiltinSkinPool->GetSkin(key); if(pSkin) { if(!pSkin->IsClass(SSkinAni::GetClassName())) return FALSE; m_aniSkin=static_cast<SSkinAni*>(pSkin); }else { SSkinAni *pGifSkin = (SSkinAni*)SApplication::getSingleton().CreateSkinByName(SSkinMutiFrameImg::GetClassName()); if(!pGifSkin) return FALSE; if(0==pGifSkin->LoadFromFile(pszFileName)) { pGifSkin->Release(); return FALSE; } pBuiltinSkinPool->AddKeyObject(key,pGifSkin);//将创建的skin交给skinpool管理 m_aniSkin = pGifSkin; } if(m_layout.IsFitContent()) { GetParent()->UpdateChildrenPosition(); } OnShowWindow(TRUE, NormalShow); return TRUE; }
//------------------------------------------------------------------------ // // [2011/2/26 jjuiddong] //------------------------------------------------------------------------ void CPanelBase::OnShowWindow(BOOL bShow, UINT nStatus) { CDialog::OnShowWindow(bShow, nStatus); if( bShow ) { OnShowWindow(); Update(); // listner¿¡°Ô ¾Ë¸² } else { OnHideWindow(); } }
LRESULT CWin::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch (uMsg) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; #if defined(WIN32) && !defined(UNDER_CE) //case WM_NCCREATE: lRes = OnNcCreate(uMsg, wParam, lParam, bHandled); break; case WM_NCMOUSEMOVE: lRes = OnNCMouseMove(uMsg, wParam, lParam, bHandled); break; case WM_NCMOUSELEAVE: lRes = OnNCMouseLeave(uMsg, wParam, lParam, bHandled); break; case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEWHEEL: lRes = OnMouseWheel(uMsg, wParam, lParam, bHandled); break; #endif case WM_ERASEBKGND: lRes = OnEraseBkGnd(uMsg, wParam, lParam, bHandled); break; case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_CHAR: lRes = OnChar(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; case WM_KEYDOWN: lRes = OnKeyDown(uMsg, wParam, lParam, bHandled); break; case WM_KILLFOCUS: lRes = OnKillFocus(uMsg, wParam, lParam, bHandled); break; case WM_SETFOCUS: lRes = OnSetFocus(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONUP: lRes = OnLButtonUp(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONDOWN: lRes = OnLButtonDown(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEMOVE: lRes = OnMouseMove(uMsg, wParam, lParam, bHandled); break; case WM_MOUSELEAVE: lRes = OnMouseLeave(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEHOVER: lRes = OnMouseHover(uMsg, wParam, lParam, bHandled); break; case WM_HOTKEY: lRes = OnHotKey(uMsg, wParam, lParam, bHandled); break; // case WM_TIMER: lRes = OnTimer(uMsg, wParam, lParam, bHandled); break;//OnTimer响应有小问题 case WM_MOVING: lRes = OnMoving(uMsg, wParam, lParam, bHandled); break; case WM_SIZING: lRes = OnSizing(uMsg, wParam, lParam, bHandled); break; case WM_SHOWWINDOW: lRes = OnShowWindow(uMsg, wParam, lParam, bHandled); break; case WM_COMMAND: lRes = OnCommand(uMsg, wParam, lParam, bHandled); break; // case WM_PAINT: lRes = OnPaint(uMsg, wParam, lParam, bHandled); break;//OnPaint响应有问题 case WM_MENUCOMMAND: lRes = OnMenuCommand(uMsg, wParam, lParam, bHandled); break; default: bHandled = FALSE; break; } if (bHandled) return lRes; lRes = ProcessWindowMessage(uMsg, wParam, lParam, bHandled); if (bHandled) return lRes; if(_paintManager && _paintManager->MessageHandler(uMsg,wParam,lParam,lRes)) return lRes; return __super::HandleMessage(uMsg,wParam,lParam); }
LRESULT OutputWindow::WndProc(HWND hWindow, UINT uiMsg, WPARAM wParam, LPARAM lParam) { switch (uiMsg) { case WM_SIZE: OnResize(LOWORD(lParam), HIWORD(lParam)); break; case WM_SHOWWINDOW: OnShowWindow(wParam != 0); break; case WM_CONTEXTMENU: OnContextMenu(LOWORD(lParam), HIWORD(lParam)); break; default: return DefWindowProc(hWindow, uiMsg, wParam, lParam); } return TRUE; }
void SScrollText::UpdateScrollInfo(CSize size) { CAutoRefPtr<IRenderTarget> pRT; GETRENDERFACTORY->CreateRenderTarget(&pRT,0,0); BeforePaintEx(pRT); SIZE sz; pRT->MeasureText(m_strText,m_strText.GetLength(),&sz); if(sz.cx - size.cx>0) { m_nScrollWidth = sz.cx; if (m_nRollType==1) { m_nOffset=-size.cx; } OnShowWindow(IsVisible(TRUE), 0); } else { m_nOffset = 0; m_nScrollWidth = 0; } }