📄 unit11.cpp
字号:
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
//范围
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"波长范围");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
sprintf(gs, "%1.2f - %1.2f nm", Form1->wns, Form1->wne);
Str = gs;
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
//测试日期
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"测试日期");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
Str=IntToStr(Form1->ptc.dattim[1]); Str+="-";
Str+=IntToStr(Form1->ptc.dattim[2]); Str+="-";
Str+=IntToStr(Form1->ptc.dattim[3]); Str+=" ";
Str+=IntToStr(Form1->ptc.dattim[4]); Str+=":";
Str+=IntToStr(Form1->ptc.dattim[5]); Str+=":";
Str+=IntToStr(Form1->ptc.dattim[6]);
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
}// if(CBPara->Checked==true)
//打印峰尖数据
int num;
int i;
AnsiString str;
int iXHLeft, iWnLeft, iValLeft;
int iFZTop, iFZBottom;
TSize size;
iCurTopPos+=iFontHeight;
iCurTopPos+=iFontHeight;
iXHLeft = (int)(1.0 * PixelsPerCmX);
size = pPrinter->Canvas->TextExtent("1234567");
iWnLeft = iXHLeft + size.cx;
size = pPrinter->Canvas->TextExtent("12345.123456");
iValLeft = iWnLeft + size.cx;
iFZTop = iCurTopPos;
if(m_bPrnFJ)
{
num = XiShouFeng->StringGrid1->RowCount;
for(i = 0; i < num; i++)
{
str = XiShouFeng->StringGrid1->Cells[0][i];//打印序号
pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid1->Cells[1][i]; //打印波数
pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid1->Cells[2][i]; //打印峰值
pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);
iCurTopPos+=iFontHeight;
}
}
iFZBottom = iCurTopPos;
//打印峰谷数据
size = pPrinter->Canvas->TextExtent("峰尖数值123456789");
iXHLeft = iValLeft + size.cx;
size = pPrinter->Canvas->TextExtent("1234567");
iWnLeft = iXHLeft + size.cx;
size = pPrinter->Canvas->TextExtent("12345.123456");
iValLeft = iWnLeft + size.cx;
if(m_bPrnFG)
{
iCurTopPos = iFZTop;
num = XiShouFeng->StringGrid2->RowCount;
for(i = 0; i < num; i++)
{
str = XiShouFeng->StringGrid2->Cells[0][i];//打印序号
pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid2->Cells[1][i]; //打印波数
pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid2->Cells[2][i]; //打印峰值
pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);
iCurTopPos+=iFontHeight;
}
if(iFZBottom < iCurTopPos) iFZBottom = iCurTopPos;
}
iCurTopPos = iFZBottom;
//打印数据
iXHLeft = (int)(1.0 * PixelsPerCmX);
size = pPrinter->Canvas->TextExtent("1234567");
iWnLeft = iXHLeft + size.cx;
size = pPrinter->Canvas->TextExtent("12345.123456");
iValLeft = iWnLeft + size.cx;
if(m_bPrnData)
{
int step;
step = FormDataTable->udJG->Position + 1;
num = FormDataTable->StringGrid1->RowCount;
iCurTopPos+=iFontHeight;
i = 0;
str = FormDataTable->StringGrid1->Cells[0][i];//打印序号
pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);
str = FormDataTable->StringGrid1->Cells[1][i]; //打印波数
pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);
str = FormDataTable->StringGrid1->Cells[2][i]; //打印峰值
pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);
iCurTopPos+=iFontHeight;
i++;
for(; i < num; i+=step)
{
str = FormDataTable->StringGrid1->Cells[0][i];//打印序号
pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);
str = FormDataTable->StringGrid1->Cells[1][i]; //打印波数
pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);
str = FormDataTable->StringGrid1->Cells[2][i]; //打印峰值
pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);
iCurTopPos+=iFontHeight;
}
}
if(CBChangInfo->Checked==true)
{
iCurTopPos+=(int)(1.0*PixelsPerCmY);
pPrinter->Canvas->Font->Size=10;
pPrinter->Canvas->TextOut(1,iCurTopPos,
"天津市光学仪器厂、天津市拓普仪器有限公司 电话:(022)88289916 E-mail:tp@tjtp.com");
iCurTopPos+=iFontHeight;
}
pPrinter->EndDoc();// 结束数据传送,实际开始打印
/*
TRect DRect,SRect;
String sDate;
LPTJ270INFO lpinfo270; //lpinfo270 = &g_ApparTJ270->m_MeasurePara;
TFNCurveTJ270 *curve;
int index;
index = g_GraphTJ270->GetItemIndex();
curve = g_GraphTJ270->GetCurrentItem();
lpinfo270 = g_ApparTJ270->GetDoc(index);
if( (curve == NULL) || (lpinfo270 == NULL) ) return ;
pPrinter=Printer();
pPrinter->BeginDoc();// 开始传送数据
//pPrinter->Canvas->MoveTo(0, 0);
//pPrinter->NewPage();
//获取打印机的参数
//注释掉原来的==============
// PixelsPerInchX 打印机X方向每英寸点数
// PixelsPerInchY 打印机Y方向每英寸点数
PixelsPerInchX=GetDeviceCaps(pPrinter->Canvas->Handle,LOGPIXELSX);
PixelsPerInchY=GetDeviceCaps(pPrinter->Canvas->Handle,LOGPIXELSY);
//============================
//增加的部分===========================
//PixelsPerInchX=600;
//PixelsPerInchY=600;
//=====================================
PixelsPerCmX=PixelsPerInchX/2.54; // 每厘米点数
PixelsPerCmY=PixelsPerInchY/2.54;
//增加的部分===========================
int pw,ph;
pw=pPrinter->PageWidth; // 获得打印机的最大打印宽度的点数
ph=pPrinter->PageHeight; // 获得打印机的最大打印高度的点数
//=====================================
fPageWidth=(float)(pw/PixelsPerCmX); // 计算出最大打印宽度的厘米值
fPageHeight=(float)(ph/PixelsPerCmY);
//pPrinter->EndDoc();
GetSetting();//获取设置参数
int iCurTopPos=0;
int iLeftBase=(int)(3.0*PixelsPerCmX);//测量参数的左边距为3.0厘米
int iMaohao=(int)(2.0*PixelsPerCmX);//冒号距测量参数的左边距为2.0厘米
String Str;
//获取时间
SYSTEMTIME datetime;
GetLocalTime(&datetime);
sDate=IntToStr(datetime.wYear);
sDate+="-";
sDate+=IntToStr(datetime.wMonth);
sDate+="-";
sDate+=IntToStr(datetime.wDay);
sDate+=" ";
sDate+=IntToStr(datetime.wHour);
sDate+=":";
sDate+=IntToStr(datetime.wMinute);
sDate+=":";
sDate+=IntToStr(datetime.wSecond);
//把设置的厘米换算成像素
iLeft=PixelsPerCmX*fLeft+5;
iRight=PixelsPerCmX*fRight+5;
iTop=PixelsPerCmY*fTop;
iPutuHeight=PixelsPerCmY*fPutuHeight;
iPutuWidth=PixelsPerCmX*fPutuWidth -1;
//pPrinter->BeginDoc();
//开始打印
pPrinter->Canvas->Font->Size=12; // 字体大小
int iFontHeight=pPrinter->Canvas->Font->Height; // 字体高度
if(iFontHeight<0) iFontHeight=0-iFontHeight; // 取绝对值
if(CBBegin->Checked==true)//打印标题栏
{
//打印题首
//pPrinter->Canvas->TextOut(pw*8/24,0,
// "WFZ-26A型紫外可见分光光度计");
pPrinter->Canvas->TextOut(pw*8/24,0,
" 红外分光光度计TJ270-30 ");
//打印当前日期
pPrinter->Canvas->Font->Size=12;
pPrinter->Canvas->TextOut(pw*17/24
,iCurTopPos,sDate);
iCurTopPos+=iFontHeight;
//打印一虚线
pPrinter->Canvas->Pen->Style=psDash;
pPrinter->Canvas->MoveTo(0,iCurTopPos);
pPrinter->Canvas->LineTo(pw,iCurTopPos);
iCurTopPos+=iFontHeight;
//iCurTopPos+=iFontHeight;
}
//打印谱图
iCurTopPos+=iTop;
DRect.Top=iCurTopPos;
DRect.Left=iLeft;
DRect.Right=DRect.Left+iPutuWidth - 5;
DRect.Bottom=DRect.Top+iPutuHeight ;
//SRect.Top = KUAN+1; SRect.Left=KUAN+1;
//SRect.Right = Image1->Width-KUAN-20;
//SRect.Bottom=Image1->Height-KUAN-1;
SRect.Top = 0;
SRect.Left = 0;
SRect.Right = Image1->ClientWidth - 5;
SRect.Bottom=Image1->ClientHeight - 5;
//增加的部分===========================
if(DRect.Right>pw)
DRect.Right=pw;
if(DRect.Bottom>ph)
DRect.Bottom=ph;
//======================================
pPrinter->Canvas->CopyRect(DRect,Image1->Canvas,SRect); // 复制
iCurTopPos+=DRect.Bottom;
//打印测量参数
if(CBPara->Checked==true)
{
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"名称");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
Str = curve->m_Name;
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"测量模式");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
Str = FormCanShu->rgMMode->Items->Strings[lpinfo270->MMode];
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
//扫描速度
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"扫描速度");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
Str = FormCanShu->rgSSpeed->Items->Strings[lpinfo270->SSpeed];
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
//狭缝宽度
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"狭缝宽度");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
Str = FormCanShu->rgSlit->Items->Strings[lpinfo270->SWidth -1];
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
//响应时间
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"响应时间");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
Str = FormCanShu->rgRTime->Items->Strings[lpinfo270->RTime];
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
//范围
pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"波数范围");
pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
Str=FloatToStr(lpinfo270->Xs);Str+=" - ";
Str += FloatToStr(lpinfo270->Xe);
Str+=" cm-1";
pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
,iCurTopPos,Str);
iCurTopPos+=iFontHeight;
}// if(CBPara->Checked==true)
//打印峰尖数据
int num;
int i;
AnsiString str;
int iXHLeft, iWnLeft, iValLeft;
int iFZTop;
TSize size;
iCurTopPos+=iFontHeight;
iCurTopPos+=iFontHeight;
iXHLeft = (int)(1.0 * PixelsPerCmX);
size = pPrinter->Canvas->TextExtent("1234567");
iWnLeft = iXHLeft + size.cx;
size = pPrinter->Canvas->TextExtent("12345.123456");
iValLeft = iWnLeft + size.cx;
iFZTop = iCurTopPos;
if(m_bPrnFJ)
{
num = XiShouFeng->StringGrid1->RowCount;
for(i = 0; i < num; i++)
{
str = XiShouFeng->StringGrid1->Cells[0][i];//打印序号
pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid1->Cells[1][i]; //打印波数
pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid1->Cells[2][i]; //打印峰值
pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);
iCurTopPos+=iFontHeight;
}
}
//打印峰谷数据
size = pPrinter->Canvas->TextExtent("峰尖数值123456789");
iXHLeft = iValLeft + size.cx;
size = pPrinter->Canvas->TextExtent("1234567");
iWnLeft = iXHLeft + size.cx;
size = pPrinter->Canvas->TextExtent("12345.123456");
iValLeft = iWnLeft + size.cx;
if(m_bPrnFG)
{
iCurTopPos = iFZTop;
num = XiShouFeng->StringGrid2->RowCount;
for(i = 0; i < num; i++)
{
str = XiShouFeng->StringGrid2->Cells[0][i];//打印序号
pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid2->Cells[1][i]; //打印波数
pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);
str = XiShouFeng->StringGrid2->Cells[2][i]; //打印峰值
pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);
iCurTopPos+=iFontHeight;
}
}
pPrinter->EndDoc();// 结束数据传送,实际开始打印
*/
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::BTCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::EditChange(TObject *Sender)
{// 判断是否为数字
TEdit *tEdit=(TEdit *)Sender;
tEdit->Text=IsNumber(tEdit->Text);
}
//---------------------------------------------------------------------------
void TFormPrntSetting::PrintFJ(bool bs)
{
m_bPrnFJ = bs;
CBPrnFJ->Checked = m_bPrnFJ;
CBPrnFJ->Enabled = m_bPrnFJ;
PreView(1);
}
//---------------------------------------------------------------------------
void TFormPrntSetting::PrintFG(bool bs)
{
m_bPrnFG = bs;
CBPrnFG->Checked = m_bPrnFG;
CBPrnFG->Enabled = m_bPrnFG;
PreView(1);
}
//---------------------------------------------------------------------------
void TFormPrntSetting::PrintData(bool bs)
{
m_bPrnData = bs;
CBPrnData->Checked = m_bPrnData;
CBPrnData->Enabled = m_bPrnData;
PreView(1);
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::CBPrnFJClick(TObject *Sender)
{
CBPrnFJ->Checked = m_bPrnFJ;
PreView(1);
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::CBPrnFGClick(TObject *Sender)
{
CBPrnFG->Checked = m_bPrnFG;
PreView(1);
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::CBPrnDataClick(TObject *Sender)
{
CBPrnData->Checked = m_bPrnData;
//m_bPrnData = CBPrnData->Checked;
PreView(1);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -