读书人

QuickReprot能不能调字符间隔

发布时间: 2013-01-04 10:04:18 作者: rapoo

QuickReprot能不能调字符间距?
如题,从来没搞定过,查了很多资料也没找到办法,都快不用它了。
[解决办法]
http://www.mombu.com/programming/programming/t-quickreport-how-to-determine-the-text-length-2607955.html

你可以参考下。
[解决办法]
看来要继承个控件自己写print方法啊 Canvas->TextRect

void __fastcall TQRMyLabel::Paint( void )
{
Quickrpt::TQRPrintable::Paint();
// Draw your text here using 'Canvas'
Canvas->TextRect( Rect( 0, 0, Width, Height ), 0, 0, caption_);
}
//---------------------------------------

void __fastcall TQRMyLabel::Print( int OfsX, int OfsY )
{
TRect R = Rect(
QRPrinter->XPos( OfsX + Size->Left ),
QRPrinter->YPos( OfsY + Size->Top ),
QRPrinter->XPos( OfsX + Size->Left + Size->Width ),
QRPrinter->YPos( OfsY + Size->Top + Size->Height ) );
// Draw your text here using 'QRPrinter->Canvas'
QRPrinter->Canvas->TextRect( R, 0, 0, caption_ );
}

[解决办法]
可以考虑另外的方法来搞定:截获API: TextOut,然后动态修改绘制文本的参数。

读书人网 >C++ Builder

热点推荐