Example #1
0
void CTabCtrl::OnCreate(void)
{
	// Change WndProc to our multi purpose one.
	WindowProc(PopupWndProc);
	
	// Get window dimensions.
	m_rcArea = ClientRect();
	
	// Calculate tab page position.
	CRect rcPage(2, m_iTabHeight, m_rcArea.right-3, m_rcArea.bottom-3);
	
	// Create the page dialogs.
	for (int i = 0; i < m_iNumPages; i++)
	{
		// Create the page, hide and centre in control.
		m_pPageTable[i].pPage->Parent(*this);
		m_pPageTable[i].pPage->RunModeless();
		m_pPageTable[i].pPage->Show(SW_HIDE);
		m_pPageTable[i].pPage->Move(rcPage);
	}

	//Activate first page, if one.
	if (m_iNumPages)
		ActivatePage(0);
}
void CXTPPropertyPage::OnNcPaint()
{
	Default();

	if (!m_pSheet)
		return;

	CWindowDC dc(this);
	CXTPWindowRect rcPage(this);
	rcPage.OffsetRect(-rcPage.TopLeft());

	if (m_pSheet->GetPageBorderStyle() == xtpPageBorderFrame)
	{
		BOOL bFrame = FALSE;
		CXTPWinThemeWrapper wrpTreeView;
		wrpTreeView.OpenTheme(0, L"LISTBOX");
		if (wrpTreeView.IsAppThemed())
		{
			COLORREF clr;
			if (SUCCEEDED(wrpTreeView.GetThemeColor(0, 0, TMT_BORDERCOLOR, &clr)))
			{
				dc.Draw3dRect(rcPage, clr, clr);
				rcPage.DeflateRect(1, 1);
				dc.Draw3dRect(rcPage, GetXtremeColor(COLOR_WINDOW), GetXtremeColor(COLOR_WINDOW));
				rcPage.DeflateRect(1, 1);
				bFrame = TRUE;
			}
		}
		if (!bFrame)
		{
			dc.DrawEdge(rcPage, EDGE_SUNKEN, BF_RECT);
			rcPage.DeflateRect(2, 2);
		}
	}
	else if (m_pSheet->GetPageBorderStyle() == xtpPageBorderBottomLine)
	{
		dc.FillSolidRect(rcPage.left, rcPage.bottom - 2, rcPage.Width(), 1, GetXtremeColor(COLOR_BTNSHADOW));
		dc.FillSolidRect(rcPage.left, rcPage.bottom - 1, rcPage.Width(), 1, GetXtremeColor(COLOR_BTNHIGHLIGHT));
		rcPage.DeflateRect(0, 0, 0, 2);
	}

	if ((GetStyle() & (WS_HSCROLL | WS_VSCROLL)) == (WS_HSCROLL | WS_VSCROLL))
	{
		CRect rcSizeIcon(rcPage.right - GetSystemMetrics(SM_CXVSCROLL),
			rcPage.bottom - GetSystemMetrics(SM_CYHSCROLL), rcPage.right, rcPage.bottom);

		HBRUSH hBrush = m_pSheet->GetNavigator()->GetPageBrush(&dc, this);
		if (hBrush)
		{
			CXTPClientRect rc(this);
			::FillRect(dc, rcSizeIcon, hBrush);
		}
		else
		{
			dc.FillSolidRect(rcSizeIcon, GetXtremeColor(COLOR_3DFACE));
		}

	}
}
Example #3
0
BOOL CBackstagePageSave::OnInitDialog() 
{
	CXTPRibbonBackstagePage::OnInitDialog();
	
	ModifyStyleEx(0, WS_EX_CONTROLPARENT);
	
	
	m_lblSaveAndSend.SetFont(&m_fntCaption);
	m_lblSaveAndSend.SetTextColor(RGB(94, 94, 94));
	
	m_lblFileTypes.SetFont(&m_fntCaption);
	m_lblFileTypes.SetTextColor(RGB(94, 94, 94));

	m_lblSeparator4.SetVerticalStyle(TRUE);

	InitButton(m_btnSendEmail);
	InitButton(m_btnSaveToWeb);
	InitButton(m_btnSaveToSharePoint);
	InitButton(m_btnPublish);
	InitButton(m_btnChangeFileType);
	InitButton(m_btnCreatePDF);
	
	SetResize(IDC_SEPARATOR_4, XTP_ANCHOR_TOPLEFT, XTP_ANCHOR_BOTTOMLEFT);


	CXTPWindowRect rcPage(GetDlgItem(IDC_STATIC_PAGE));
	ScreenToClient(rcPage);
	
	m_pageSaveEmail.Create(CBackstagePageSaveEmail::IDD, this);
	m_pageSaveEmail.SetDlgCtrlID(CBackstagePageSaveEmail::IDD);

	m_pageSaveEmail.MoveWindow(rcPage);
	m_pageSaveEmail.ShowWindow(SW_SHOWNORMAL);
	
	m_pageSaveWeb.Create(CBackstagePageSaveWeb::IDD, this);
	m_pageSaveWeb.MoveWindow(rcPage);
	m_pageSaveWeb.SetDlgCtrlID(CBackstagePageSaveWeb::IDD);

	SetResize(CBackstagePageSaveEmail::IDD, XTP_ANCHOR_TOPLEFT, XTP_ANCHOR_BOTTOMRIGHT);
	SetResize(CBackstagePageSaveWeb::IDD, XTP_ANCHOR_TOPLEFT, XTP_ANCHOR_BOTTOMRIGHT);


	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}
Example #4
0
bool CPrintFolder::CalcLayout(CDCHandle dcPrinter)
{
	if(!dcPrinter.IsNull())
	{
		CRect rcPage(0, 0, 
		dcPrinter.GetDeviceCaps(PHYSICALWIDTH) - 2 * dcPrinter.GetDeviceCaps(PHYSICALOFFSETX),
		dcPrinter.GetDeviceCaps(PHYSICALHEIGHT) - 2 * dcPrinter.GetDeviceCaps(PHYSICALOFFSETY));
		
		// Fix for 98...PHYSICALWIDTH seems to fail on 98?
		if (rcPage.right == 0) 
		{
			rcPage.right = dcPrinter.GetDeviceCaps(HORZRES);
			rcPage.bottom = dcPrinter.GetDeviceCaps(VERTRES);
		}

		return CalcLayout(dcPrinter, rcPage);
	}
	
	return CalcLayout(dcPrinter, m_rcOutput);
}