//--------------------------------------------------------------------------- #include #pragma hdrstop #include "TPrint_F.h" #include "Common.h" #include "MainImage.h" #include "WorkArea.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cspin" #pragma link "CSPIN" #pragma resource "*.dfm" //--------------------------------------------------------------------------- #define IDS_HEADER StringTable[0] #define IDS_HEADER_USED StringTable[1] #define IDS_HEADER_MOSAIC StringTable[2] #define IDS_METHOD StringTable[3] #define IDS_COUNT StringTable[4] #define IDS_METHOD_NORMAL StringTable[5] #define IDS_METHOD_HDVER StringTable[6] #define IDS_METHOD_HDHOR StringTable[7] #define IDS_MOSAICOPTION StringTable[8] #define IDS_XAXIS StringTable[9] #define IDS_YAXIS StringTable[10] #define IDS_DISABLED StringTable[11] #define IDS_FCAPTION StringTable[12] //--------------------------------------------------------------------------- __fastcall TTPrintForm::TTPrintForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TTPrintForm::FormClose(TObject *Sender, TCloseAction &Action) { TIniFile *IniFile = new TIniFile(DirectoryBase+"\\TextilePrint.ini"); if (IniFile) { IniFile->WriteInteger("Form", "Left", Left); IniFile->WriteInteger("Form", "Top", Top); delete IniFile; } } //--------------------------------------------------------------------------- void __fastcall TTPrintForm::FormCreate(TObject *Sender) { StringTable.Create(DirectoryBase+"\\TPrint_F.txt", Language); SetSmallFont(Font); Caption = IDS_FCAPTION; LabelPage->Caption = IDS_COMMON_PAGE; LabelHeader->Caption = IDS_HEADER; Label10->Caption = IDS_COMMON_REPEAT; OkLabel->Caption = IDS_COMMON_BUTTONOK; LabelZoom->Caption = IDS_COMMON_ZOOM; Label6->Caption = IDS_METHOD; Label7->Caption = IDS_COUNT; Label9->Caption = IDS_COMMON_POSITION; ButtonSetup->Caption = AnsiString(IDS_COMMON_SETUP) + "..."; CancelBtn->Caption = IDS_COMMON_BUTTONCANCEL; OKBtn->Caption = IDS_COMMON_BUTTONOK; Label1->Caption = IDS_MOSAICOPTION; Label3->Caption = IDS_XAXIS; Label4->Caption = IDS_YAXIS; Label5->Caption = IDS_COMMON_MAX; ComboBoxHeader->Items->Clear(); ComboBoxHeader->Items->Strings[0] = IDS_COMMON_BUTTONNO; ComboBoxHeader->Items->Strings[1] = IDS_COMMON_BUTTONYES; ComboBoxHeader->Items->Strings[2] = IDS_HEADER_USED; #ifndef ACADMEY ComboBoxHeader->Items->Strings[3] = IDS_HEADER_MOSAIC; #endif ComboBoxRepeat->Items->Clear(); ComboBoxRepeat->Items->Strings[0] = IDS_METHOD_NORMAL; ComboBoxRepeat->Items->Strings[1] = IDS_METHOD_HDHOR; ComboBoxRepeat->Items->Strings[2] = IDS_METHOD_HDVER; TIniFile *IniFile = new TIniFile(DirectoryBase+"\\TextilePrint.ini"); if (IniFile) { Left = IniFile->ReadInteger("Form", "Left", (Screen->Width-Width)>>1); Top = IniFile->ReadInteger("Form", "Top", (Screen->Height-Height)>>1); delete IniFile; } ComboBoxHeader->ItemIndex = 0; ComboBoxRepeat->ItemIndex = 0; NoPanel->Enabled = true; NoPanel->Visible = true; MosaicPanel->Enabled = false; MosaicPanel->Visible = false; #ifdef ACADEMY OkLabel->Font->Color = clRed; OkLabel->Caption = IDS_DISABLED; InitFunc(2); #endif } //--------------------------------------------------------------------------- void __fastcall TTPrintForm::ButtonSetupClick(TObject *Sender) { PrinterSetupDialog->Execute(); } //--------------------------------------------------------------------------- void __fastcall TTPrintForm::ComboBoxRepeatChange(TObject *Sender) { int v; switch (ComboBoxRepeat->ItemIndex) { case 0: v = 0; break; case 1: if (MainImageForm->WorkArea->Mask) v = (MainImageForm->WorkArea->Range.right -MainImageForm->WorkArea->Range.left) / 2; else v = MainImageForm->iMainImage->Bitmap->Width / 2; break; case 2: if (MainImageForm->WorkArea->Mask) v = (MainImageForm->WorkArea->Range.bottom -MainImageForm->WorkArea->Range.top) / 2; else v = MainImageForm->iMainImage->Bitmap->Height / 2; break; } EditRepeat->Text = IntToStr(v); } //--------------------------------------------------------------------------- void __fastcall TTPrintForm::ComboBoxHeaderChange(TObject *Sender) { int w, h; if (MainImageForm->iMainImage->Bitmap->BitsPerPixel==8) { switch (ComboBoxHeader->ItemIndex) { case 0: FPrintHeader = phNo; break; case 1: FPrintHeader = phYes; break; case 2: FPrintHeader = phUsedColor; break; case 3: FPrintHeader = phMosaic; break; } } else { switch (ComboBoxHeader->ItemIndex) { case 0: FPrintHeader = phNo; break; case 1: FPrintHeader = phMosaic; break; } } switch (FPrintHeader) { case phNo: NoPanel->Enabled = true; NoPanel->Visible = true; #ifndef ACADEMY OkLabel->Font->Color = clGreen; OkLabel->Caption = IDS_COMMON_BUTTONOK; InitFunc(0); #else OkLabel->Font->Color = clRed; OkLabel->Caption = IDS_DISABLED; InitFunc(2); #endif MosaicPanel->Enabled = false; MosaicPanel->Visible = false; break; case phYes: NoPanel->Enabled = true; NoPanel->Visible = true; OkLabel->Font->Color = clRed; OkLabel->Caption = IDS_DISABLED; InitFunc(1); MosaicPanel->Enabled = false; MosaicPanel->Visible = false; break; case phUsedColor: NoPanel->Enabled = true; NoPanel->Visible = true; InitFunc(1); OkLabel->Font->Color = clRed; OkLabel->Caption = IDS_DISABLED; MosaicPanel->Enabled = false; MosaicPanel->Visible = false; break; case phMosaic: NoPanel->Enabled = false; NoPanel->Visible = false; InitFunc(0); MosaicPanel->Enabled = true; MosaicPanel->Visible = true; if (MainImageForm->WorkArea->Mask) { w = MainImageForm->WorkArea->Range.right-MainImageForm->WorkArea->Range.left; h = MainImageForm->WorkArea->Range.bottom-MainImageForm->WorkArea->Range.top; MaxLabel->Caption = Format("%d X %d", OPENARRAY (TVarRec, (w/10, h/10))); } else { MaxLabel->Caption = Format("%d X %d", OPENARRAY (TVarRec, (MainImageForm->iMainImage->Bitmap->Width /10, MainImageForm->iMainImage->Bitmap->Height /10))); } break; } } //--------------------------------------------------------------------------- void __fastcall TTPrintForm ::InitFunc(int i) { switch (i) { case 0: EditZoom->Enabled = true; ComboBoxRepeat->Enabled = true; SpinEditRepeatX->Enabled = true; SpinEditRepeatY->Enabled = true; EditRepeat->Enabled = true; break; case 1: EditZoom->Enabled = false; ComboBoxRepeat->Enabled = false; SpinEditRepeatX->Enabled = false; SpinEditRepeatY->Enabled = false; EditRepeat->Enabled = false; break; case 2: EditZoom->Enabled = true; ComboBoxRepeat->Enabled = false; SpinEditRepeatX->Enabled = false; SpinEditRepeatY->Enabled = false; EditRepeat->Enabled = false; break; } } //--------------------------------------------------------------------------- void __fastcall TTPrintForm ::InitForm() { if (MainImageForm->iMainImage->Bitmap->BitsPerPixel==8) { ComboBoxHeader->Items->Clear(); ComboBoxHeader->Items->Strings[0] = IDS_COMMON_BUTTONNO; ComboBoxHeader->Items->Strings[1] = IDS_COMMON_BUTTONYES; ComboBoxHeader->Items->Strings[2] = IDS_HEADER_USED; #ifndef ACADEMY ComboBoxHeader->Items->Strings[3] = IDS_HEADER_MOSAIC; #endif } else { ComboBoxHeader->Items->Clear(); ComboBoxHeader->Items->Strings[0] = IDS_COMMON_BUTTONNO; ComboBoxHeader->Items->Strings[1] = IDS_HEADER_MOSAIC; } FPrintHeader = phNo; } //---------------------------------------------------------------------------