Esempio n. 1
0
    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;
    }
Esempio n. 2
0
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;
}
Esempio n. 3
0
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);
	}
}
Esempio n. 4
0
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);
	}
}
Esempio n. 5
0
/****************************** 播放列表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);
	}
}
Esempio n. 6
0
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);
	}
}
Esempio n. 7
0
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);
}