初步修复
This commit is contained in:
parent
8fc4357cc6
commit
e4714f3f0e
46705 changed files with 12004901 additions and 0 deletions
|
|
@ -0,0 +1,94 @@
|
|||
// ReportMultilinePaintManager.cpp: implementation of the CReportMultilinePaintManager class.
|
||||
//
|
||||
// This file is a part of the XTREME TOOLKIT PRO MFC class library.
|
||||
// (c)1998-2008 Codejock Software, All Rights Reserved.
|
||||
//
|
||||
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
||||
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
||||
// CONSENT OF CODEJOCK SOFTWARE.
|
||||
//
|
||||
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
||||
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
||||
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
||||
// SINGLE COMPUTER.
|
||||
//
|
||||
// CONTACT INFORMATION:
|
||||
// support@codejock.com
|
||||
// http://www.codejock.com
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ReportMultilinePaintManager.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
CReportMultilinePaintManager::CReportMultilinePaintManager()
|
||||
{
|
||||
m_bFixedRowHeight = FALSE;
|
||||
}
|
||||
|
||||
CReportMultilinePaintManager::~CReportMultilinePaintManager()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int CReportMultilinePaintManager::GetRowHeight(CDC* pDC, CXTPReportRow* pRow, int nTotalWidth)
|
||||
{
|
||||
if (pRow->IsGroupRow() || !pRow->IsItemsVisible())
|
||||
return CXTPReportPaintManager::GetRowHeight(pDC, pRow, nTotalWidth);
|
||||
|
||||
CXTPReportColumns* pColumns = pRow->GetControl()->GetColumns();
|
||||
int nColumnCount = pColumns->GetCount();
|
||||
|
||||
XTP_REPORTRECORDITEM_DRAWARGS drawArgs;
|
||||
drawArgs.pControl = pRow->GetControl();
|
||||
drawArgs.pDC = pDC;
|
||||
drawArgs.pRow = pRow;
|
||||
|
||||
int nHeight = 0;
|
||||
|
||||
for (int nColumn = 0; nColumn < nColumnCount; nColumn++)
|
||||
{
|
||||
CXTPReportColumn* pColumn = pColumns->GetAt(nColumn);
|
||||
if (pColumn && pColumn->IsVisible())
|
||||
{
|
||||
CXTPReportRecordItem* pItem = pRow->GetRecord()->GetItem(pColumn);
|
||||
drawArgs.pItem = pItem;
|
||||
|
||||
XTP_REPORTRECORDITEM_METRICS itemMetrics;
|
||||
pRow->GetItemMetrics(&drawArgs, &itemMetrics);
|
||||
|
||||
CXTPFontDC fnt(pDC, itemMetrics.pFont);
|
||||
|
||||
int nWidth = pDC->IsPrinting()? pColumn->GetPrintWidth(nTotalWidth): pColumn->GetWidth();
|
||||
|
||||
CRect rcItem(0, 0, nWidth - 4, 0);
|
||||
pRow->ShiftTreeIndent(rcItem, pColumn);
|
||||
|
||||
pItem->GetCaptionRect(&drawArgs, rcItem);
|
||||
pDC->DrawText(pItem->GetCaption(pColumn), rcItem, DT_WORDBREAK|DT_CALCRECT);
|
||||
|
||||
nHeight = max(nHeight, rcItem.Height());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return max(nHeight + 5, m_nRowHeight) + (IsGridVisible(FALSE)? 1: 0);
|
||||
}
|
||||
|
||||
void CReportMultilinePaintManager::DrawItemCaption(XTP_REPORTRECORDITEM_DRAWARGS* pDrawArgs, XTP_REPORTRECORDITEM_METRICS* pMetrics)
|
||||
{
|
||||
CRect& rcItem = pDrawArgs->rcItem;
|
||||
CDC* pDC = pDrawArgs->pDC;
|
||||
CString strText = pMetrics->strText;
|
||||
|
||||
// draw item text
|
||||
if(!strText.IsEmpty())
|
||||
{
|
||||
rcItem.DeflateRect(2, 1, 2, 0);
|
||||
pDC->DrawText(strText, rcItem, pDrawArgs->nTextAlign|DT_WORDBREAK);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue