Exemplo n.º 1
0
HBRUSH CExtResizableDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	if( nCtlColor == CTLCOLOR_DLG
		|| nCtlColor == CTLCOLOR_STATIC
		|| nCtlColor == CTLCOLOR_MSGBOX
		)
	{
		if( nCtlColor == CTLCOLOR_STATIC )
			pDC->SetBkMode( TRANSPARENT );
		static CBrush brBackground;
		if( brBackground.GetSafeHandle() == NULL )
		{
			VERIFY(
				brBackground.CreateSolidBrush(
					g_PaintManager->GetColor(
						CExtPaintManager::CLR_3DFACE_OUT
						)
					)
				);
		} // if( brBackground.GetSafeHandle() == NULL )
		return (HBRUSH)brBackground.GetSafeHandle();
	}
HBRUSH hBrush = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	return hBrush;
}
Exemplo n.º 2
0
BOOL COptionTreeItemImage::GetBitmapFromImageList(CDC *pDC, HICON hIcon, CBitmap &bmp)
{
    // Declare varaibles
    CDC dc;
    CBrush brush;

    dc.CreateCompatibleDC(pDC);
    bmp.CreateCompatibleBitmap(pDC, m_sImageSizes.cx, m_sImageSizes.cy);
    CBitmap* pOldBmp = dc.SelectObject(&bmp);
    brush.CreateSolidBrush(GetSysColor(COLOR_MENU));
    ::DrawIconEx(dc.GetSafeHdc(), 0, 0, hIcon, m_sImageSizes.cx, m_sImageSizes.cy, 0, (HBRUSH)brush,DI_NORMAL);

    // Restore
    dc.SelectObject(pOldBmp);

    // Delete
    if (brush.GetSafeHandle() != NULL)
    {
        brush.DeleteObject();
    }
    if (dc.GetSafeHdc() != NULL)
    {
        dc.DeleteDC();
    }

    // The icon is not longer needed
    DestroyIcon(hIcon);

    return TRUE;
}
Exemplo n.º 3
0
HBRUSH CBaseView::CtlColor(CDC* pDC, UINT nCtlColor) 
{
	// TODO: Change any attributes of the DC here
	if( pDC )
	{
		pDC->SetBkColor( AfxGetProfile().GetColor(CColorClass::clrBaseBK) );
		pDC->SetTextColor( AfxGetProfile().GetColor(CColorClass::clrBaseText) );
	}

	static CBrush brushBK;
	static COLORREF	clrBKLast	=	RGB(255,255,255);
	COLORREF	clrBKNow	=	AfxGetProfile().GetColor( CColorClass::clrBaseBK );
	if( NULL == brushBK.GetSafeHandle() || clrBKLast != clrBKNow )
	{
		brushBK.DeleteObject( );
		VERIFY( brushBK.CreateSolidBrush( clrBKNow ) );
	}
	clrBKLast	=	clrBKNow;
	return (HBRUSH)brushBK.GetSafeHandle();
}
Exemplo n.º 4
0
HBRUSH CWizardView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	if( nCtlColor == CTLCOLOR_DLG
		|| nCtlColor == CTLCOLOR_STATIC
		|| nCtlColor == CTLCOLOR_MSGBOX )
	{
		if( nCtlColor == CTLCOLOR_STATIC )
			pDC->SetBkMode( TRANSPARENT );

		static CBrush brushBK;
		static COLORREF	clrBKLast	=	RGB(255,255,255);
		COLORREF	clrBKNow	=	RGB(255,255,255);
		if( NULL == brushBK.GetSafeHandle() || clrBKLast != clrBKNow )
		{
			brushBK.DeleteObject( );
			VERIFY( brushBK.CreateSolidBrush( clrBKNow ) );
		}
		clrBKLast	=	clrBKNow;
		return (HBRUSH)brushBK.GetSafeHandle();
	}
	return CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
}
Exemplo n.º 5
0
void CDiaColorD::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
	CBrush brush;
	if(lpDrawItemStruct->CtlID==IDC_COLORON){
		brush.CreateSolidBrush(m_ColorOn);
	}else{
		brush.CreateSolidBrush(m_ColorOff);
	}

	CPen pen;
	pen.CreateStockObject(NULL_PEN);
	HPEN hOldPen=(HPEN)SelectObject(lpDrawItemStruct->hDC,pen.GetSafeHandle());
	HBRUSH hOldBrush=(HBRUSH)SelectObject(lpDrawItemStruct->hDC,brush.GetSafeHandle());
	Rectangle(lpDrawItemStruct->hDC,0,0,lpDrawItemStruct->rcItem.right,lpDrawItemStruct->rcItem.bottom);

	SelectObject(lpDrawItemStruct->hDC,hOldBrush);
	SelectObject(lpDrawItemStruct->hDC,hOldPen);

	CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
Exemplo n.º 6
0
void COptionTreeItemColor::DrawControl(CDC *pDC, const RECT &rcRect)
{
	// Declare variables
	HGDIOBJ hOld;
	HGDIOBJ hOldBrush;
	COLORREF crOld;
	int nOldBack;
	CRect rcText, rcColor, rcClient;
	CString strText;
	CBrush bBrush;
	COLORREF crOldBack;

	// Get window rect
	GetClientRect(rcClient);

	// Select font
	hOld = pDC->SelectObject(m_otOption->GetNormalFont());

	// Create bush
	bBrush.CreateSolidBrush(m_crColor);
	
	// Set text color
	if (IsReadOnly() == TRUE || m_otOption->IsWindowEnabled() == FALSE)
	{
		crOld = pDC->SetTextColor(GetSysColor(COLOR_GRAYTEXT));
	}
	else
	{
		crOld = pDC->SetTextColor(GetTextColor());
	}

	// Set background color
	crOldBack = pDC->SetBkColor(GetBackgroundColor());	

	// Set background mode
	nOldBack = pDC->SetBkMode(TRANSPARENT);

	// Select brush
	hOldBrush = pDC->SelectObject(GetSysColorBrush(COLOR_BTNSHADOW));

	// Get color rectangle
	rcColor.left  = rcRect.left + 1;
	rcColor.right = rcColor.left + (long) OT_COLOR_SIZE;
	rcColor.top = rcRect.top + OT_SPACE - 2;
	rcColor.bottom = rcColor.top + (long) OT_COLOR_SIZE;

	// Draw color border
	rcColor.InflateRect(1, 1, 1, 1);
	pDC->PatBlt(rcColor.left, rcColor.top, rcColor.Width(), rcColor.Height(), PATCOPY);

	// Draw color
	rcColor.DeflateRect(1, 1, 1, 1);
	pDC->FillRect(rcColor, &bBrush);

	// Get text rectangle
	rcText.left  = rcColor.right + OT_SPACE;
	rcText.right = rcRect.right;
	rcText.top = rcRect.top;
	rcText.bottom = rcRect.bottom;

	// Get text
	if (GetOption(OT_COLOR_SHOWHEX) == TRUE)
	{
		strText.Format(_T("#%.6X"), m_crColor);
	}
	else
	{
		strText.Format(_T("RGB (%d, %d, %d)"), GetRValue(m_crColor), GetGValue(m_crColor), GetBValue(m_crColor));
	}

	// Draw text
	pDC->DrawText(strText, rcText, DT_SINGLELINE | DT_VCENTER);
	pDC->DrawText(strText, rcText, DT_SINGLELINE | DT_VCENTER | DT_CALCRECT);
	
	// Delete brush
	if (bBrush.GetSafeHandle() != NULL)
	{
		bBrush.DeleteObject();
	}

	// Restore GDI ojects
	pDC->SelectObject(hOldBrush);
	pDC->SelectObject(hOld);
	pDC->SetTextColor(crOld);
	pDC->SetBkMode(nOldBack);
	pDC->SetBkColor(crOldBack);
}