RECT SCaret::Draw(IRenderTarget *pRT,int x, int y,BOOL bErase) { SWindow * pOwner = SWindowMgr::GetWindow(m_owner); SASSERT(pOwner); SASSERT(pOwner->IsFocusable()); CAutoRefPtr<IRenderTarget> pRTCaret; GETRENDERFACTORY->CreateRenderTarget(&pRTCaret,0,0); pRTCaret->SelectObject(m_bmpCaret); CSize szCaret = m_bmpCaret->Size(); CRect rcCaret(CPoint(x,y),szCaret); CRect rcWnd = pOwner->GetClientRect(); SWindow *pWnd = pOwner->GetParent(); while(pWnd) { CRect rcLimit = pWnd->GetClientRect(); rcWnd = rcWnd & rcLimit; pWnd = pWnd->GetParent(); } pOwner->GetContainer()->FrameToHost(rcWnd); CRect rcCaretShow = rcCaret & rcWnd; pRT->BitBlt(&rcCaretShow,pRTCaret,rcCaretShow.left - rcCaret.left,rcCaretShow.top - rcCaret.top,DSTINVERT); return rcCaretShow; }
BOOL CCefRealWndHandler::OnRealWndSize(SRealWnd *pRealWnd) { if(!pRealWnd) return FALSE; // return TRUE 由自己来移动窗口位置 SWindow* pParent = pRealWnd->GetParent(); CRect rcParent = pParent->GetClientRect(); ::SetWindowPos(pRealWnd->GetRealHwnd(FALSE),0,rcParent.left,rcParent.top,rcParent.Width(),rcParent.Height(),SWP_NOZORDER); return TRUE; }
void CMainWnd::OnBtnBgOpenMenu() //播放区域打开文件按钮的弹出菜单 { CRect rc_menu; SWindow * pBtn = FindChildByName(L"btn_bg_open"); if(pBtn) { pBtn->GetClientRect(&rc_menu); ClientToScreen(&rc_menu); menu_PlayArea.TrackPopupMenu(0, rc_menu.left, rc_menu.bottom, m_hWnd); } }
void CMainWnd::OnBtnSkins()//打开皮肤管理 { CRect rc_temp; SWindow * pBtn = FindChildByName(L"btn_skins"); if(pBtn) { pBtn->GetClientRect(&rc_temp); ClientToScreen(&rc_temp); m_dlgSkinMgr.SetWindowPos(HWND_TOP, rc_temp.left, rc_temp.bottom, 360, 350, NULL); m_dlgSkinMgr.ShowWindow(SW_SHOWNORMAL); } }
/****************************** 播放列表tab页1 **************************************************/ void CMainWnd::OnBtnPage1SortordMenu() //播放列表排序方式 { CRect rc_menu; SWindow * pBtn = FindChildByName(L"btn_sortord_menu"); if(pBtn) { pBtn->GetClientRect(&rc_menu); ClientToScreen(&rc_menu); menu_sortord.TrackPopupMenu(0, rc_menu.left - 50, rc_menu.bottom, m_hWnd); } }
void CMainWnd::OnBtnIcon() // 左上角icon按钮 { CRect rc_menu; SWindow * pBtn = FindChildByName(L"btn_icon"); if(pBtn) { pBtn->GetClientRect(&rc_menu); ClientToScreen(&rc_menu); menu_icon.TrackPopupMenu(0, rc_menu.left, rc_menu.bottom, m_hWnd); } }
void CMainWnd::OnBtnBox() //打开暴风盒子 { //m_winBox.ShowWindow(SW_SHOWNORMAL); SWindow *pBtn = FindChildByName(L"mainWnd"); CRect rc_temp; if(pBtn) { pBtn->GetClientRect(&rc_temp); ClientToScreen(&rc_temp); m_winBox.SetWindowPos(HWND_TOP, rc_temp.right -5, rc_temp.top -3, 250, rc_temp.Height() +10, NULL); m_winBox.ShowWindow(SW_SHOWNORMAL); } pBtn = FindChildByName(L"btn_boxed"); if(pBtn) pBtn->SetVisible(TRUE,TRUE); pBtn = FindChildByName(L"btn_box"); if(pBtn) pBtn->SetVisible(FALSE,TRUE); }