//--------------------------------------------------------------------------- #include #pragma hdrstop #include "EnlargeCanvas.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" //--------------------------------------------------------------------------- #define IDS_CURRENTSIZE StringTable[0] #define IDS_NEWSIZE StringTable[1] #define IDS_ENLARGECANVAS StringTable[2] //--------------------------------------------------------------------------- TEnlargeCanvasForm *EnlargeCanvasForm; //--------------------------------------------------------------------------- __fastcall TEnlargeCanvasForm::TEnlargeCanvasForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TEnlargeCanvasForm::FormActivate(TObject *Sender) { //=========================================================== StringTable.Create(DirectoryBin, Language, "EnlargeCanvas"); SetSmallFont(Font); Caption = IDS_ENLARGECANVAS; GroupBox1->Caption = IDS_CURRENTSIZE; gbNewSize->Caption = IDS_NEWSIZE; rgUnit->Caption = IDS_COMMON_UNIT ; lbCSWidth->Caption = IDS_COMMON_WIDTH ; lbCSHeight->Caption = IDS_COMMON_HEIGHT ; Label1->Caption = IDS_COMMON_WIDTH; Label2->Caption = IDS_COMMON_HEIGHT; lbNSWidthUnit->Caption = IDS_COMMON_CM; lbNSHeightUnit->Caption = IDS_COMMON_CM; OKBtn->Caption = IDS_COMMON_BUTTONOK; CancelBtn->Caption = IDS_COMMON_BUTTONCANCEL; rgUnit->Items->Strings[0] = IDS_COMMON_CM; rgUnit->Items->Strings[1] = IDS_COMMON_INCH; rgUnit->Items->Strings[2] = IDS_COMMON_DOT; //=========================================================== NewSize.cx = CanvasInfor.Width; NewSize.cy = CanvasInfor.Height; FUnit = uCm; View(); } //--------------------------------------------------------------------------- void __fastcall TEnlargeCanvasForm::edNSClick(TObject *Sender) { TEdit *ed = (TEdit *)Sender; ed->SetFocus(); } //--------------------------------------------------------------------------- void __fastcall TEnlargeCanvasForm::edNSDblClick(TObject *Sender) { TEdit *ed = (TEdit *)Sender; ed->SetFocus(); ed->SelectAll(); } //--------------------------------------------------------------------------- void __fastcall TEnlargeCanvasForm::edNSWidthChange(TObject *Sender) { if (edNSWidth->Text.Length() > 0) { switch (FUnit) { case uCm: NewSize.cx = StrToFloat(edNSWidth->Text)*CanvasInfor.DotsPerInch/2.54+0.5; break; case uInch: NewSize.cx = StrToFloat(edNSWidth->Text)*CanvasInfor.DotsPerInch+0.5; break; default: NewSize.cx = StrToInt(edNSWidth->Text); break; } } } //--------------------------------------------------------------------------- void __fastcall TEnlargeCanvasForm::edNSHeightChange(TObject *Sender) { if (edNSHeight->Text.Length() > 0) { switch (FUnit) { case uCm: NewSize.cy = StrToFloat(edNSHeight->Text)*CanvasInfor.DotsPerInch/2.54+0.5; break; case uInch: NewSize.cy = StrToFloat(edNSHeight->Text)*CanvasInfor.DotsPerInch+0.5; break; default: NewSize.cy = StrToInt(edNSHeight->Text); break; } } } //--------------------------------------------------------------------------- void __fastcall TEnlargeCanvasForm::rgUnitClick(TObject *Sender) { switch (rgUnit->ItemIndex) { case 0: FUnit = uCm; lbNSWidthUnit->Caption = "Cm"; lbNSHeightUnit->Caption = "Cm"; break; case 1: FUnit = uInch; lbNSWidthUnit->Caption = "Inch"; lbNSHeightUnit->Caption = "Inch"; break; case 2: FUnit = uDot; lbNSWidthUnit->Caption = "Dots"; lbNSHeightUnit->Caption = "Dots"; break; } View(); } //--------------------------------------------------------------------------- void __fastcall TEnlargeCanvasForm::View() { switch (FUnit) { case uCm: lbCSWidth->Caption = AnsiString(IDS_COMMON_WIDTH) + Format(" : %f Cm", OPENARRAY(TVarRec, (2.54*CanvasInfor.Width/CanvasInfor.DotsPerInch))); lbCSHeight->Caption = AnsiString(IDS_COMMON_HEIGHT) + Format(" : %f Cm", OPENARRAY(TVarRec, (2.54*CanvasInfor.Height/CanvasInfor.DotsPerInch))); edNSWidth->Text = Format("%f", OPENARRAY(TVarRec, (2.54*NewSize.cx/CanvasInfor.DotsPerInch))); edNSHeight->Text = Format("%f", OPENARRAY(TVarRec, (2.54*NewSize.cy/CanvasInfor.DotsPerInch))); break; case uInch: lbCSWidth->Caption = AnsiString(IDS_COMMON_WIDTH) + Format(" : %f Inch", OPENARRAY(TVarRec, ((double)CanvasInfor.Width/CanvasInfor.DotsPerInch))); lbCSHeight->Caption = AnsiString(IDS_COMMON_HEIGHT) + Format(" : %f Inch", OPENARRAY(TVarRec, ((double)CanvasInfor.Height/CanvasInfor.DotsPerInch))); edNSWidth->Text = Format("%f", OPENARRAY(TVarRec, ((double)NewSize.cx/CanvasInfor.DotsPerInch))); edNSHeight->Text = Format("%f", OPENARRAY(TVarRec, ((double)NewSize.cy/CanvasInfor.DotsPerInch))); break; case uDot: lbCSWidth->Caption = AnsiString(IDS_COMMON_WIDTH) + Format(" : %d Dots", OPENARRAY(TVarRec, (CanvasInfor.Width))); lbCSHeight->Caption = AnsiString(IDS_COMMON_HEIGHT) + Format(" : %d Dots", OPENARRAY(TVarRec, (CanvasInfor.Height))); edNSWidth->Text = Format("%d", OPENARRAY(TVarRec, ((int)NewSize.cx))); edNSHeight->Text = Format("%d", OPENARRAY(TVarRec, ((int)NewSize.cy))); break; } } //---------------------------------------------------------------------------