Exemplo n.º 1
0
void CDuiFrameWnd::AdaptWindowSize( UINT cxScreen )
{
    int iX = 968, iY = 600;
    int iWidthList = 225, iWidthSearchEdit = 193;
    SIZE szFixSearchBtn = {201, 0};

    if(cxScreen <= 1024)      // 800*600  1024*768  
    {
        iX = 775;
        iY = 470;
    } 
    else if(cxScreen <= 1280) // 1152*864  1280*800  1280*960  1280*1024
    {
        iX = 968;
        iY = 600;
    }
    else if(cxScreen <= 1366) // 1360*768 1366*768
    {
        iX = 1058;
        iY = 656;
        iWidthList        += 21;
        iWidthSearchEdit  += 21;
        szFixSearchBtn.cx += 21;
    }
    else                      // 1440*900
    {
        iX = 1224;
        iY = 760;
        iWidthList        += 66;
        iWidthSearchEdit  += 66;
        szFixSearchBtn.cx += 66;
    }

    CControlUI *pctnPlaylist = m_PaintManager.FindControl(_T("ctnPlaylist"));
    CControlUI *peditSearch  = m_PaintManager.FindControl(_T("editSearch"));
    CControlUI *pbtnSearch   = m_PaintManager.FindControl(_T("btnSearch"));
    if (pctnPlaylist && peditSearch && pbtnSearch)
    {
        pctnPlaylist->SetFixedWidth(iWidthList);
        peditSearch->SetFixedWidth(iWidthSearchEdit);
        pbtnSearch->SetFixedXY(szFixSearchBtn);
    }

    ::SetWindowPos(m_PaintManager.GetPaintWindow(), NULL, 0, 0, iX, iY, SWP_FRAMECHANGED|SWP_NOZORDER|SWP_NOACTIVATE);
    CenterWindow();
}
Exemplo n.º 2
0
void CUIDesignerView::PasteUI(LPCTSTR xml)
{
	CDialogBuilder builder;
	CControlUI* pRoot=builder.Create(xml, (UINT)0, NULL, m_LayoutManager.GetManager());
	if(pRoot)
	{
		CControlUI* pParent = m_MultiTracker.GetFocused();
		if(pParent->GetInterface(_T("Container")) == NULL)
			pParent = pParent->GetParent();
		if(pParent == NULL)
			pParent = m_LayoutManager.GetForm();

		m_MultiTracker.RemoveAll();
		CContainerUI* pContainer = static_cast<CContainerUI*>(pParent->GetInterface(_T("Container")));
		CContainerUI* pRootContainer = static_cast<CContainerUI*>(pRoot->GetInterface(_T("Container")));
		ExtendedAttributes* pExtended = (ExtendedAttributes*)pContainer->GetTag();
		for(int i=0; i<pRootContainer->GetCount(); i++)
		{
			CControlUI* pControl = pRootContainer->GetItemAt(i);
			if(pControl->IsFloat())
			{
				SIZE sz = pControl->GetFixedXY();
				sz.cx += COPY_OFFSET_XY;
				sz.cy += COPY_OFFSET_XY;
				pControl->SetFixedXY(sz);
			}
			pContainer->Add(pControl);
			m_MultiTracker.Add(CreateTracker(pControl));
			InitUI(pControl, pExtended->nDepth + 1);
		}
		CArray<CControlUI*,CControlUI*> arrSelected;
		m_MultiTracker.GetSelected(arrSelected);
		m_UICommandHistory.Begin(arrSelected, actionAdd);
		m_UICommandHistory.End();

		pContainer->SetPos(pContainer->GetPos());

		pRootContainer->SetAutoDestroy(false);
		delete pRootContainer;
		this->GetDocument()->SetModifiedFlag();
	}
}