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(); }
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(); } }