// --------------------------------------------------------------------------- #include #include #include #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #include "CDSFontF.h" #include "CDSVmsIfscF.h" #include "CDSVmsFormF.h" #include "CDSVmsTextItemF.h" #pragma hdrstop #include "FrmVmsMsgFormMngrF.h" #include "VMSM510MF.h" #include "VMSM520MF.h" #include "VMSM530MF.h" #include "VMSM540MF.h" #include "VMSM580MF.h" #include "VMSM570MF.h" #include "VMSM590MF.h" // --------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCalendar" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxDropDownEdit" #pragma link "cxEdit" #pragma link "cxGraphics" #pragma link "cxGroupBox" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxMaskEdit" #pragma link "cxPC" #pragma link "cxPCdxBarPopupMenu" #pragma link "cxSpinEdit" #pragma link "cxSplitter" #pragma link "cxTextEdit" #pragma link "cxTimeEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinCaramel" #pragma link "dxSkinCoffee" #pragma link "dxSkinDarkRoom" #pragma link "dxSkinDarkSide" #pragma link "dxSkinFoggy" #pragma link "dxSkinGlassOceans" #pragma link "dxSkiniMaginary" #pragma link "dxSkinLilian" #pragma link "dxSkinLiquidSky" #pragma link "dxSkinLondonLiquidSky" #pragma link "dxSkinMcSkin" #pragma link "dxSkinMoneyTwins" #pragma link "dxSkinOffice2007Black" #pragma link "dxSkinOffice2007Blue" #pragma link "dxSkinOffice2007Green" #pragma link "dxSkinOffice2007Pink" #pragma link "dxSkinOffice2007Silver" #pragma link "dxSkinOffice2010Black" #pragma link "dxSkinOffice2010Blue" #pragma link "dxSkinOffice2010Silver" #pragma link "dxSkinsCore" #pragma link "dxSkinscxPCPainter" #pragma link "dxSkinSeven" #pragma link "dxSkinSharp" #pragma link "dxSkinSilver" #pragma link "dxSkinStardust" #pragma link "cxRadioGroup" #pragma link "cxClasses" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDataStorage" #pragma link "cxDBData" #pragma link "cxFilter" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridDBTableView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxStyles" #pragma link "cxCheckBox" #pragma link "cxImage" #pragma link "cxButtonEdit" #pragma link "cxBlobEdit" #pragma link "VmsDesignerF" #pragma link "cxColorComboBox" #pragma link "cxCalc" #pragma link "cxHint" #pragma link "dxCustomHint" #pragma link "dxScreenTip" #pragma link "dxSkinsForm" #pragma link "FFBaseComponent" #pragma link "FFBasePlay" #pragma link "FFPlay" #pragma link "dxGDIPlusClasses" #pragma resource "*.dfm" TFrmVmsMsgFormMngr *FrmVmsMsgFormMngr = NULL; // --------------------------------------------------------------------------- __fastcall TFrmVmsMsgFormMngr::TFrmVmsMsgFormMngr(TComponent* Owner) : TForm(Owner) { // CMM_SetFormPosition(g_AppCfg.bSaveForm); ITSSkin_Initialize(Application, g_AppCfg.sLang); ITSSkin_Caption(false); ITSSkin_Load(this); // CMM_LoadForm(g_sFormsDir, this); SetColorScheme(g_AppCfg.sSkinName); FUpdate = false; FTitle = Caption; FListSymb = new TList; EditMode = false; FTrafBackSymb = false; PgEdit->ActivePage = TsEdit; // PgFormTab->ActivePage = TsForm; // BtnSaveImgFile->Caption = "Save form image"; // BtnSaveImgFile->Hint = "Save the form as an image file."; // FSelObjType = eSelObjNone; PnlObjSymb->Align = alClient; PnlObjText->Align = alClient; // TvList->FilterRow->ApplyChanges = fracDelayed;//fracImmediately; TvList->OptionsBehavior->ShowLockedStateImageOptions->Filtering = lsimNever; BtnLime->LookAndFeel->NativeStyle = false; BtnLime->LookAndFeel->SkinName = ""; BtnYellow->LookAndFeel->NativeStyle = false; BtnYellow->LookAndFeel->SkinName = ""; BtnRed->LookAndFeel->NativeStyle = false; BtnRed->LookAndFeel->SkinName = ""; BtnObjLime->LookAndFeel->NativeStyle = false; BtnObjLime->LookAndFeel->SkinName = ""; BtnObjYellow->LookAndFeel->NativeStyle = false; BtnObjYellow->LookAndFeel->SkinName = ""; BtnObjRed->LookAndFeel->NativeStyle = false; BtnObjRed->LookAndFeel->SkinName = ""; FLastImageFileName = ""; FSymbFmtLists.Push("bmp", new TSymbFmt("bmp", "bmp")); // FSymbFmtLists.Push("jpg", new TSymbFmt("jpg", "jpg")); // FSymbFmtLists.Push("jpge", new TSymbFmt("jpge", "jpg")); // FSymbFmtLists.Push("png", new TSymbFmt("png", "png")); // FSymbFmtLists.Push("avi", new TSymbFmt("avi", "avi")); // FSymbFmtLists.Push("ico", new TSymbFmt("ico", "ico")); // FSymbFmtLists.Push("gif", new TSymbFmt("gif", "gif")); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::SetColorScheme(String ASkinName) { dxSkinController1->SkinName = ASkinName; dxSkinController1->Refresh(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CommClose() { try { if (m_pEdtDesigner) { delete m_pEdtDesigner; m_pEdtDesigner = NULL; } APP_DelVmsSizeCombo(CbSizeType); ClearSymbloList(); SAFE_DELETE(FListSymb); ITSSkin_Term(); // CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormCreate(TObject *Sender) { ScrollBox1->ParentColor = true; InitDbLoading(); m_pEdtDesigner = new TVmsFormDesigner(PnlEditForm); FOR_STL(TCDSFontColor*, pObj, CDSFontManager->FFontColors) { m_pEdtDesigner->InitFontColor(pObj->VMS_FONT_COLR_CD, (TColor)pObj->VMS_FONT_COLR_VAL); } FOR_STL(TCDSBackColor*, pObj, CDSFontManager->FBackColors) { m_pEdtDesigner->InitBackColor(pObj->VMS_BACK_COLR_CD, (TColor)pObj->VMS_BACK_COLR_VAL); } FOR_STL(TCDSFontName*, pObj, CDSFontManager->FFontNames) { m_pEdtDesigner->InitFontName(pObj->VMS_FONT_NAME_CD, pObj->VMS_FONT_NAME_NM); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::InitDbLoading() { // INITDATA Application->ProcessMessages(); if (!VmsCtlrManager) { VmsCtlrManager = new TVmsCtlrManager(); } VmsCtlrManager->LoadVmsModlSize(); VmsCtlrManager->LoadFromDb(); if (SysCodeManager == NULL) { SysCodeManager = new TSysCodeManager(); } SysCodeManager->LoadFromDb(); if (!VmsTextItemManager) { VmsTextItemManager = new TVmsTextItemManager(); } VmsTextItemManager->LoadFromDb(); if (!CDSFontManager) { CDSFontManager = new TCDSFontManager(); } CDSFontManager->LoadFontInfo(); APP_InitDisplayColor(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormShow(TObject *Sender) { ::SendMessage(ReForm->Handle, EM_SETLANGOPTIONS, 0, (LPARAM)(::SendMessage(ReForm->Handle, EM_GETLANGOPTIONS, 0, 0)&~IMF_AUTOFONT)); ::SendMessage(ReFormTemp->Handle, EM_SETLANGOPTIONS, 0, (LPARAM)(::SendMessage(ReFormTemp->Handle, EM_GETLANGOPTIONS, 0, 0)&~IMF_AUTOFONT)); Refresh(); FormInit(); ChangeEditMode(1); TmrShow->Enabled = true; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormInit() { // TvList->OptionsView->NoDataToDisplayInfoText = "<µî·ÏµÇ¾î ÀÖ´Â Æû Á¤º¸°¡ ¾ø½À´Ï´Ù>"; m_pEdtDesigner->ApplicationHandle = (long)Handle; // VMS»çÀÌÁî APP_FillVmsSizeType(CbSizeType, false); // ÆûÀ¯Çü APP_FillCode(CbFormType, "VMS_FORM_TYPE_CD"); // Ç¥Ãâ¹æ¹ý APP_FillCode(CbFormDsplEff, "VMS_FORM_DSPL_EFF_CD"); // Æû°´Ã¼Á¾·ù APP_FillCode(CbObjKind, "VMS_FORM_OBJ_KIND_CD"); CbObjKind->ItemIndex = -1; FormObjectInit(); ReForm->Paragraph->Numbering = nsNone; ReForm->Paragraph->Alignment = taCenter; // enum TAlignment { taLeftJustify, taRightJustify, taCenter }; FNewDb = false; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormObjectInit() { // TvObjList->OptionsView->NoDataToDisplayInfoText = "<µî·ÏµÇ¾î ÀÖ´Â °´Ã¼ Á¤º¸°¡ ¾ø½À´Ï´Ù>"; m_bEdit = false; PnlEdtBack->Left = 6; PnlEdtBack->Top = 4; PnlRePreview->Left = 4; PnlRePreview->Top = 4; // ReForm->Left = 6; // ReForm->Top = 4; // Æû»ö»ó CbFormBkClr->Items->Clear(); CbObjBkClr->Items->Clear(); FOR_STL(TCDSBackColor*, pObj, CDSFontManager->FBackColors) { CbFormBkClr->Items->AddObject("", (TObject*)pObj->VMS_BACK_COLR_VAL); CbObjBkClr->Items->AddObject("", (TObject*)pObj->VMS_BACK_COLR_VAL); } CbFormBkClr->ItemIndex = 0; CbObjBkClr->ItemIndex = 0; // CbFormBkClr->Items->AddObject("", (TObject*)clBlack); // CbFormBkClr->Items->AddObject("", (TObject*)clRed); // CbFormBkClr->Items->AddObject("", (TObject*)clLime); // CbFormBkClr->Items->AddObject("", (TObject*)clYellow); // °´Ã¼¹è°æ»ö»ó // CbObjBkClr->Items->AddObject("", (TObject*)clBlack); // CbObjBkClr->Items->AddObject("", (TObject*)clRed); // CbObjBkClr->Items->AddObject("", (TObject*)clLime); // CbObjBkClr->Items->AddObject("", (TObject*)clYellow); // ¹®ÀÚ¿­»ö»ó CbFontClr->Items->Clear(); FOR_STL(TCDSFontColor*, pObj, CDSFontManager->FFontColors) { CbFontClr->Items->AddObject(pObj->VMS_FONT_COLR_NM, (TObject*)pObj->VMS_FONT_COLR_VAL); // CbFontClr->Items->AddObject("", (TObject*)pObj->VMS_FONT_COLR_VAL); } CbFontClr->ItemIndex = 0; // Á÷Á¢ÀÔ·Â ¹®ÀÚ¿­»ö»ó CbFontColorRe->Items->Clear(); CbFontColorRe->Items = CbFontClr->Items; CbFontColorRe->ItemIndex = 0; // VMS Font APP_FillCode(CbFontName, "FONT_KIND_CD"); APP_FillCode(CbFontNameRe, "FONT_KIND_CD"); APP_SetCode(CbFontNameRe, "02"); // ±¼¸²Ã¼ CbFillIn->Properties->Items->Clear(); CbFillIn1->Properties->Items->Clear(); CbTextFillIn->Properties->Items->Clear(); CbFillIn->Properties->Items->AddObject("¹®ÀÚ¿­(Fill In) Ãß°¡", (TObject*)NULL); CbFillIn1->Properties->Items->AddObject("-Fill In-", (TObject*)NULL); CbTextFillIn->Properties->Items->AddObject("-¹®ÀÚ¿­ ¼Ó¼º-", (TObject*)NULL); FOR_STL(TVmsTextItem*, pObj, VmsTextItemManager->FLists) { CbTextFillIn->Properties->Items->Add(" [" + pObj->TXT_ITEM_ID + "] " + pObj->TXT_ITEM_FILLIN); if (pObj->TXT_ITEM_ID == DFLT_TEXT_TYPE) { continue; } CbFillIn->Properties->Items->AddObject(pObj->TXT_ITEM_FILLIN, (TObject*)pObj); CbFillIn1->Properties->Items->AddObject(pObj->TXT_ITEM_FILLIN, (TObject*)pObj); } CbFillIn->ItemIndex = 0; CbFillIn1->ItemIndex = 0; CbTextFillIn->ItemIndex = 0; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; CbSizeType->ItemIndex = -1; CbSizeType->ItemIndex = 0; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnCloseClick(TObject *Sender) { Close(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); FrmVmsMsgFormMngr = NULL; Action = caFree; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormCloseQuery(TObject *Sender, bool &CanClose) { if (FUpdate) { } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnEditClick(TObject *Sender) { if (BtnEdit->Caption == "ÆíÁý") { ChangeEditMode(0); // m_pEdtDesigner->SetEditMode(true); // m_pEdtDesigner->EditMode = true; FNewDb = false; } else { String sId = EdFormId->Text; ChangeEditMode(1); if (CMM_FindGridData(TvList->DataController, sId, ColVMS_FORM_ID->Index) >= 0) { CMM_SetGridRow(CxList, TvList, sId, ColVMS_FORM_ID->Index); DisplayInfo(); } } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ChangeEditMode(int AEdit) { bool bEnabled = false; CbFormType->Enabled = false; switch(AEdit) { case 0: // ÆíÁý¹öưŬ¸¯ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnCopyAdd->Enabled = false; BtnCopyAdd212->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = "Ãë¼Ò"; // "Ãë¼Ò"; BtnEdit->Hint = "µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; // µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; EditMode = true; }break; case 1: // ÆíÁý[Ãë¼Ò]¹öưŬ¸¯ { FormClear(); // È­¸éÀ» ¸ðµÎ Áö¿î´Ù. BtnEdit->Enabled = false; BtnInsert->Enabled = true; BtnDelete->Enabled = false; BtnCopyAdd->Enabled = false; BtnCopyAdd212->Enabled = false; BtnSave->Enabled = false; BtnEdit->Caption = "ÆíÁý"; // "ÆíÁý"; BtnEdit->Hint = "µ¥ÀÌÅÍ ÆíÁý"; // µ¥ÀÌÅÍ ÆíÁý"; // bEnabled = true; EditMode = false; }break; case 2: // Ãß°¡ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnCopyAdd->Enabled = false; BtnCopyAdd212->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = "Ãë¼Ò"; // "Ãë¼Ò"; BtnEdit->Hint = "µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; // µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; EditMode = true; // CbFormType->Enabled = true; }break; case 3: // ¼öÁ¤¸ðµå { BtnEdit->Enabled = true; BtnInsert->Enabled = true; BtnDelete->Enabled = true; BtnCopyAdd->Enabled = true; // BtnCopyAdd212->Enabled = true; BtnCopyAdd212->Enabled = FIsAddModlForm; BtnSave->Enabled = false; BtnEdit->Caption = "ÆíÁý"; // "ÆíÁý"; BtnEdit->Hint = "µ¥ÀÌÅÍ ÆíÁý"; // µ¥ÀÌÅÍ ÆíÁý"; bEnabled = true; EditMode = false; }break; } BtnSaveImgFile->Enabled = false; if (ImgForm->Picture->Bitmap != NULL) { if (ImgForm->Picture->Bitmap->Height != 0) { BtnSaveImgFile->Enabled = true; } } if (AEdit == 0 || AEdit == 2) { GrpList->Enabled = false; PnlEdtBack->Enabled = true; } else { GrpList->Enabled = true; PnlEdtBack->Enabled = false; } PnlFormInfo->Enabled = EditMode; PnlObjProperty->Enabled = EditMode; PnlFormObjCmd->Enabled = EditMode; BtnReApply->Enabled = EditMode; BtnCopyAdd212->Visible = FIsCopyModlKind; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnInsertClick(TObject *Sender) { TVMSM520M *pSelForm = new TVMSM520M(this); pSelForm->ShowModal(); String sFormType = pSelForm->EdNmbr->Text.Trim(); bool bSelected = pSelForm->m_bSelected; delete pSelForm; pSelForm = NULL; if (!bSelected) { return; } if (sFormType == "") { return; } if (sFormType == FORM_TYPE_EMER || sFormType == FORM_TYPE_PUBR) { if (!BtnAddFormObj->Enabled) { // ReForm->Lines->Clear(); // BtnAddFormObj->Enabled = false; BtnAddFormObj->Enabled = true; } MnuCctv->Visible = false; CbFillIn->Enabled = false; CbFillIn1->Enabled = false; } else { if (!BtnAddFormObj->Enabled) { BtnAddFormObj->Enabled = true; } MnuCctv->Visible = true; CbFillIn->Enabled = true; CbFillIn1->Enabled = true; } String sFontCode = APP_GetCode(CbFontNameRe); String sFontName = APP_GetCodeName(CbFontNameRe); ReForm->SelAttributes->Name = sFontName; ReForm->Font->Name = sFontName; ReForm->Font->Size = SeFontSizeRe->Value; String newFormId = GetNextVmsFormId(sFormType.SubString(1, 1)); FormClear(); EdFormId->Text = newFormId; ChangeEditMode(2); FNewDb = true; // ÆûÀ¯ÇüÀ» ¼³Á¤ APP_SetCode(CbFormType, sFormType); CbFormDsplEff->ItemIndex = CbFormDsplEff->Properties->Items->Count - 1; EdFormName->SetFocus(); } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::AddDefFormObject(String AFontName, int AFontSize, String AFontColor, int AObjType, String AText, int ASize, int APosX, int APosY, int AAlign /* =0 */ ) { TVmsFormObject *pObj; // 1´Ü ¼ÒÅëÁ¤º¸ pObj = m_pEdtDesigner->AddObject(odtText); if (!pObj) return false; pObj->EditMode = true; pObj->ObjKind = OBJKIND_TEXT; pObj->ObjSeq = m_pEdtDesigner->GetNewObjectSeq(); pObj->ObjType = String(AObjType); pObj->Text = AText; pObj->ObjSize = pObj->Text.Length(); // ASize; //Pixel pObj->BkColorCode = "00"; // Balck, m_pEdtDesigner->BkColorCode; pObj->Blink = false; pObj->FontName = AFontName; pObj->FontNameCode = APP_GetCodeIdByName(CbFontName, AFontName); pObj->FontColorCode = AFontColor; // 0:Black,1:Red,2:Green,3:Yellow pObj->FontSize = AFontSize; pObj->FontBold = true; pObj->TextAlign = AAlign; // (0:left, 1:right, 2:center pObj->SetPos(APosX, APosY); pObj->Show(); AddObjectToList(pObj, true); return true; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::MakeDefTrafficForm(int ARows) { // 0:Black,1:Red, 2:Green, 3:Yellow // 0:left, 1:right, 2:center // 1´Ü ¼ÒÅëÁ¤º¸ if (g_AppCfg.sLang == "kr") { switch(ARows) { case 1: AddDefFormObject("±¼¸²Ã¼", 18, "3", 12, "@½ÃÁ¡¸í", 160, 16, 7, 1); // ½ÃÁ¡¸í AddDefFormObject("±¼¸²Ã¼", 18, "3", 13, "@Á¾Á¡¸í", 160, 213, 7, 0); // Á¾Á¡¸í AddDefFormObject("±¼¸²Ã¼", 18, "3", 14, "@¼ÒÅë»óȲ", 112, 64, 35, 2); // ¼ÒÅë»óȲ AddDefFormObject("±¼¸²Ã¼", 18, "2", 15, "@00ºÐ", 80, 213, 35, 0); // ÅëÇà½Ã°£ break; case 2: AddDefFormObject("±¼¸²Ã¼", 16, "3", 0, "ÇöÀ§Ä¡", 100, 31, 7); // ÇöÀ§Ä¡ AddDefFormObject("±¼¸²Ã¼", 16, "3", 13, "@Á¾Á¡¸í1", 100, 133, 7); // Á¾Á¡¸í1 AddDefFormObject("±¼¸²Ã¼", 16, "3", 23, "@Á¾Á¡¸í2", 100, 265, 7); // Á¾Á¡¸í2 AddDefFormObject("±¼¸²Ã¼", 16, "2", 15, "@01ºÐ", 80, 133, 35); // ÅëÇà½Ã°£1 AddDefFormObject("±¼¸²Ã¼", 16, "2", 25, "@02ºÐ", 80, 265, 35); // ÅëÇà½Ã°£2 break; case 3: AddDefFormObject("±¼¸²Ã¼", 16, "3", 0, "ÇöÀçÀ§Ä¡ºÎÅÍ", 126, 7, 7); // ÇöÀçÀ§Ä¡ºÎÅÍ AddDefFormObject("±¼¸²Ã¼", 16, "3", 13, "@Á¾Á¡¸í1", 85, 38, 50); // Á¾Á¡¸í1 AddDefFormObject("±¼¸²Ã¼", 16, "2", 15, "@1ºÐ", 80, 161, 50); // ÅëÇà½Ã°£1 AddDefFormObject("±¼¸²Ã¼", 16, "3", 14, "@»óȲ1", 53, 217, 50); // ¼ÒÅë»óȲ1 AddDefFormObject("±¼¸²Ã¼", 16, "3", 23, "@Á¾Á¡¸í2", 85, 38, 82); // Á¾Á¡¸í2 AddDefFormObject("±¼¸²Ã¼", 16, "2", 25, "@2ºÐ", 80, 161, 82); // ÅëÇà½Ã°£2 AddDefFormObject("±¼¸²Ã¼", 16, "3", 24, "@»óȲ2", 53, 217, 82); // ¼ÒÅë»óȲ2 AddDefFormObject("±¼¸²Ã¼", 16, "3", 33, "@Á¾Á¡¸í3", 85, 38, 117); // Á¾Á¡¸í3 AddDefFormObject("±¼¸²Ã¼", 16, "2", 35, "@3ºÐ", 80, 161, 117); // ÅëÇà½Ã°£3 AddDefFormObject("±¼¸²Ã¼", 16, "3", 34, "@»óȲ3", 53, 217, 117); // ¼ÒÅë»óȲ3 break; case 6: AddDefFormObject("±¼¸²Ã¼", 18, "3", 18, "@ÁöÁ¡¸í", 300, 18, 20); // ÁöÁ¡¸í AddDefFormObject("±¼¸²Ã¼", 18, "3", 0, "ÁÖº¯", 126, 153, 20); // ÁÖº¯ AddDefFormObject("±¼¸²Ã¼", 18, "1", 0, "Á¤Ã¼ ±Ø½É", 126, 222, 20); // Á¤Ã¼±Ø½É break; } } else { String sFontName = lblFontName->Caption; switch(ARows) { case 1: AddDefFormObject(sFontName, 18, "3", 12, "@StartName", 160, 16, 7); // @½ÃÁ¡¸í @StartName AddDefFormObject(sFontName, 18, "3", 13, "@EndName", 160, 213, 7); // @Á¾Á¡¸í @EndName AddDefFormObject(sFontName, 18, "3", 14, "@Congest", 112, 64, 35); // @¼ÒÅë»óȲ @Congest AddDefFormObject(sFontName, 18, "2", 15, "@00Min", 80, 213, 35); // @ÅëÇà½Ã°£ @00Min break; case 2: AddDefFormObject(sFontName, 16, "3", 0, "Location", 100, 31, 7); // ÇöÀ§Ä¡ Location AddDefFormObject(sFontName, 16, "3", 13, "@EndName1", 100, 133, 7); // Á¾Á¡¸í1 EndName1 AddDefFormObject(sFontName, 16, "3", 23, "@EndName2", 100, 265, 7); // Á¾Á¡¸í2 EndName2 AddDefFormObject(sFontName, 16, "2", 15, "@01Min", 80, 133, 35); // ÅëÇà½Ã°£1 01Min AddDefFormObject(sFontName, 16, "2", 25, "@02Min", 80, 265, 35); // ÅëÇà½Ã°£2 02Min break; case 3: AddDefFormObject(sFontName, 16, "3", 0, "From Location", 126, 7, 7); // ÇöÀçÀ§Ä¡ºÎÅÍ From Location AddDefFormObject(sFontName, 16, "3", 13, "@EndName1", 85, 38, 50); // Á¾Á¡¸í1 EndName1 AddDefFormObject(sFontName, 16, "2", 15, "@1Min", 80, 161, 50); // ÅëÇà½Ã°£1 1Min AddDefFormObject(sFontName, 16, "3", 14, "@Congest1", 53, 217, 50); // ¼ÒÅë»óȲ1 Congest1 AddDefFormObject(sFontName, 16, "3", 23, "@EndName2", 85, 38, 82); // Á¾Á¡¸í2 EndName2 AddDefFormObject(sFontName, 16, "2", 25, "@2Min", 80, 161, 82); // ÅëÇà½Ã°£2 2Min AddDefFormObject(sFontName, 16, "3", 24, "@Congest2", 53, 217, 82); // ¼ÒÅë»óȲ2 Congest2 AddDefFormObject(sFontName, 16, "3", 33, "@EndName3", 85, 38, 117); // Á¾Á¡¸í3 EndName3 AddDefFormObject(sFontName, 16, "2", 35, "@3Min", 80, 161, 117); // ÅëÇà½Ã°£3 3Min AddDefFormObject(sFontName, 16, "3", 34, "@Congest3", 53, 217, 117); // ¼ÒÅë»óȲ3 Congest3 break; case 6: AddDefFormObject(sFontName, 18, "3", 18, "@SpotName", 300, 18, 20); // @ÁöÁ¡¸í @SpotName AddDefFormObject(sFontName, 18, "3", 0, "Around", 126, 153, 20); // ÁÖº¯ Around AddDefFormObject(sFontName, 18, "1", 0, "Congest Zam", 126, 222, 20); // Á¤Ã¼±Ø½É Congest Zam break; } } #if 0 (String AFontName, int AFontSize, String AFontColor, int AObjType, String AText, int ASize, int APosX, int APosY) #endif } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnDeleteClick(TObject *Sender) { int nIdx = TvList->DataController->FocusedRecordIndex; if (nIdx < 0) return; String sFormId = EdFormId->Text; String sFormNm = EdFormName->Text; if (sFormId.IsEmpty()) { Application->MessageBox(lblText2->Caption.c_str(), // L"VMS Æû »èÁ¦\r\n»èÁ¦ÇÒ VMS ÆûÀ» ¸ñ·Ï¿¡¼­ ¼±ÅÃÇϼ¼¿ä.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } if (!CheckVmsFormUse(sFormId)) return; String sMsg = "VMS ¸Þ½ÃÁö »èÁ¦ È®ÀÎ\r\n\r\n"; sMsg += "VMS ¸Þ½ÃÁöID: " + sFormId; sMsg += "\r\nVMS ¸Þ½ÃÁö¸í: " + sFormNm; sMsg += "\r\n\r\n¼±ÅÃÇϽŠVMS Æû Á¤º¸¸¦ »èÁ¦ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO | MB_ICONQUESTION | MB_APPLMODAL) != IDYES) return; ITSDb_GetConnection()->BeginTrans(); if (DelVmsForm(sFormId)) { ITSDb_GetConnection()->CommitTrans(); FUpdate = true; Application->MessageBox(L"VMS ¸Þ½ÃÁö Æû »èÁ¦\r\nVMS ¸Þ½ÃÁö Æû Á¤º¸¸¦ »èÁ¦ ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK | MB_ICONINFORMATION | MB_APPLMODAL); FormClear(); ChangeEditMode(1); LoadVmsForm(); } else { ITSDb_GetConnection()->RollbackTrans(); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnSaveImgFileClick(TObject *Sender) { if (EdFormId->Text == "") return; SaveDialog->Title = FTitle; SaveDialog->InitialDir = ExtractFilePath(Application->ExeName); SaveDialog->Filter = "Bitmap image Files (*.bmp)|*.bmp"; SaveDialog->FileName = EdFormId->Text + ".bmp"; if (SaveDialog->Execute()) { try { String sFileName = SaveDialog->FileName; int iRet = sFileName.Pos(".bmp"); if (iRet == 0) { sFileName = SaveDialog->FileName + ".bmp"; } ImgForm->Picture->SaveToFile(sFileName); } catch(Exception & exception) { Application->ShowException(&exception); } } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ClearSymbloList() { for (int ii = 0; ii < FListSymb->Count; ii++) { Graphics::TBitmap *bitmap = (Graphics::TBitmap*)FListSymb->Items[ii]; delete bitmap; } FListSymb->Clear(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { if (!ACellViewInfo) return; DisplayInfo(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::TvListFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord, TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged) { if (!AFocusedRecord) return; DisplayInfo(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbSizeTypePropertiesChange(TObject *Sender) { FIsLcsModl = false; FIsCopyModlKind = false; EdSizeType->Text = CbSizeType->Text; BtnSearchClick(NULL); CxList->SetFocus(); if (FIsLcsModl) { BtnFitSize->Caption = "Fit Modl"; BtnFitSize->Hint = "¸ðµâ »çÀÌÁî¿¡ ¸Â°Ô À̹ÌÁö À§Ä¡ ÀÚµ¿ Á¶Á¤"; BtnFitSize->Tag = 1; } else { BtnFitSize->Caption = "Fit Size"; BtnFitSize->Hint = "¸ðµâ »çÀÌÁî¿¡ ¸Â°Ô À̹ÌÁö Å©±â ÀÚµ¿ Á¶Á¤"; BtnFitSize->Tag = 0; } if (FVmsModlKind == "C0312_32" || FVmsModlKind == "F0312_32" || FVmsModlKind == "F0315_32" || FVmsModlKind == "F1824_16" || FVmsModlKind == "F2026_16") { FIsCopyModlKind = true; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnSearchClick(TObject *Sender) { RefreshData(); EdFocus->SetFocus(); ChangeEditMode(1); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::RefreshData() { // °Ë»öÁ¶°Ç¿¡ ÀÇÇÑ ¸µÅ© µ¥ÀÌÅÍ Á¶È¸ TvList->DataController->Filter->Clear(); FormClear(); LoadVmsForm(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormClear() { // FSelObjType = eSelObjNone; FSelIdx = -1; ImgForm->Picture->Bitmap->FreeImage(); ImgForm->Picture->Bitmap = NULL; EdFormId->Clear(); EdFormName->Clear(); CbFormType->ItemIndex = 0; CbFormDsplEff->ItemIndex = 1; CbFormBkClr->ItemIndex = 0; FormObjectClear(); // µµÇü¼¿ Ŭ¸®¾î FFormObjCellMap.RemoveAll(); FNewDb = false; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FormObjectClear() { m_pEdtDesigner->Clear(); CMM_ClearGridTableView(TvObjList); // ReForm->Lines->Clear(); EdDsplTxt->Text = ""; EdPictNm->Text = ""; SeLeft->Value = 0; SeTop->Value = 0; ChkBlinking->Checked = false; SeObjW->Value = 0; SeObjH->Value = 0; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::DisplayInfo() { // TcxTabSheet* pActive = PgFormTab->ActivePage; FIsAddModlForm = false; try { LockWindowUpdate(Handle); FormClear(); PgEdit->ActivePage = TsEdit; FSelIdx = TvList->DataController->FocusedRecordIndex; if (FSelIdx <= -1) return; DisplayFormInfo(FSelIdx); ChangeEditMode(3); // m_pEdtDesigner->SetEditMode(false); } __finally { // if (PgFormTab->ActivePage != pActive) // PgFormTab->ActivePage = pActive; LockWindowUpdate(0); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::DisplayFormInfo(int AIdx) { TcxGridDataController *pDc = TvList->DataController; #if 0 if (AIdx < FListSymb->Count) { Graphics::TBitmap *bitmap = (Graphics::TBitmap*)FListSymb->Items[AIdx]; ImgForm->Picture->Bitmap->Assign(bitmap); } #endif EdSizeType->Text = CbSizeType->Text; EdFormId->Text = VarToStr(pDc->Values[AIdx][ColVMS_FORM_ID->Index]); EdFormName->Text = VarToStr(pDc->Values[AIdx][ColVMS_FORM_NM->Index]); CbFormBkClr->ItemIndex = CDSFontManager->GetBackColorIndex (VarToStr(pDc->Values[AIdx][ColBACK_CLR->Index]).ToIntDef(0)); m_sFormTypeCd = VarToStr(pDc->Values[AIdx][ColVMS_FORM_TYPE->Index]); APP_SetCode(CbFormType, m_sFormTypeCd); APP_SetCode(CbFormDsplEff, VarToStr(pDc->Values[AIdx][ColDSPL_EFF->Index])); m_pEdtDesigner->BkColorCode = VarToStr(pDc->Values[AIdx][ColBACK_CLR->Index]); // CDSFontManager->GetBackColorCode((int)CbFormBkClr->Selected); LoadFormObjectInfo(EdFormId->Text, m_pEdtDesigner, m_sFormTypeCd); SelObjectListData(); if (FFormObjCellMap.Size() > 0) { BtnTrafFillIn->Font->Style = TFontStyles() << fsBold; } else { BtnTrafFillIn->Font->Style = TFontStyles(); } FVmsFormId = VarToStr(pDc->Values[AIdx][ColVMS_FORM_ID->Index]); FVmsFormType = VarToStr(pDc->Values[AIdx][ColVMS_FORM_TYPE->Index]); FIsAddModlForm = false; if (FIsCopyModlKind) { FIsAddModlForm = (FVmsFormType == FORM_TYPE_EMER || FVmsFormType == FORM_TYPE_PUBR); } } // --------------------------------------------------------------------------- String __fastcall TFrmVmsMsgFormMngr::FindObjectKindName(String AObjKind, String AFillIn) { if (AFillIn != NULL && AFillIn != "") { TVmsTextItem *pObj = VmsTextItemManager->FLists.Find(AFillIn); if (pObj != NULL) { return pObj->TXT_ITEM_NM; } } TSysClssCode *pSysClssCd = SysCodeManager->FLists.Find("VMS_FORM_OBJ_KIND_CD"); if (pSysClssCd) { TSysCode *pSysCode = pSysClssCd->FLists.Find(AObjKind); if (pSysCode != NULL) { return pSysCode->CD_NM; } } return "--???--"; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::FnFormObjectSelected(TMessage &Msg) { m_bEdit = true; try { TVmsFormObject *pObj = (TVmsFormObject*)Msg.LParam; if (!pObj) return; if (!pObj->Selected) return; String sFormType = APP_GetCode(CbFormType); String sObjKind = pObj->ObjType; APP_SetCode(CbObjKind, sObjKind); EdObjSeq->Text = String(pObj->ObjSeq); EdObjId->Text = pObj->ObjId; ChkBlinking->Checked = pObj->Blink; CbObjBkClr->ItemIndex = pObj->BkColorCode.ToInt(); SeLeft->Value = pObj->GetLeft(); SeTop->Value = pObj->GetTop(); if (sObjKind == FORM_OBJ_KIND_CCTV) { EdPictNm->Text = pObj->Text; } else if (sObjKind == FORM_OBJ_KIND_TEXT) { APP_SetCode(CbObjKind, pObj->ObjKind); APP_SetCode(CbTextFillIn, pObj->FillIn); CbFontClr->ItemIndex = CDSFontManager->GetFontColorIndex(pObj->FontColorCode); SeFontSize->Value = pObj->FontSize; ChkFontBold->Checked = pObj->FontBold; CbTextAlign->ItemIndex = pObj->TextAlign; APP_SetCode(CbFontName, pObj->FontNameCode); if (EdDsplTxt->Text != pObj->Text) { EdDsplTxt->Text = pObj->Text; } #if 0 if (pObj->FillIn == DFLT_TEXT_TYPE) { // ±âŸ¹®ÀÚ¿­ EdDsplTxt->Properties->ReadOnly = false; } else { // Fill In EdDsplTxt->Properties->ReadOnly = true; } #endif } EdPictNm->Text = pObj->Text; SeObjW->Value = pObj->GetWidth(); SeObjH->Value = pObj->GetHeight(); if (pObj->DrawType == odtText) { APP_SetCode(CbFontName, pObj->FontNameCode); CbFontClr->ItemIndex = CDSFontManager->GetFontColorIndex(pObj->FontColorCode); SeFontSize->Value = pObj->FontSize; ChkFontBold->Checked = pObj->FontBold; CbTextAlign->ItemIndex = pObj->TextAlign; } else { APP_SetCode(CbObjKind, pObj->ObjType); if (EdDsplTxt->Text != pObj->Text) EdDsplTxt->Text = pObj->Text; } TcxGridFocusedRecordChangedEvent evt = TvObjList->OnFocusedRecordChanged; TvObjList->OnFocusedRecordChanged = NULL; String sObjSeq = String(pObj->ObjSeq); CMM_SetGridRow(CxObjList, TvObjList, sObjSeq, ColSeq->Index); TvObjList->OnFocusedRecordChanged = evt; CheckImageSelected(); } catch(...) { } m_bEdit = false; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::TvObjListFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord, TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged) { if (TvObjList->ViewData->RecordCount <= 0) return; if (TvObjList->DataController->FocusedRowIndex < 0) return; TcxDataController *pGDC = TvObjList->DataController; int nIndex = pGDC->FocusedRecordIndex; String sObjSeq = pGDC->Values[nIndex][ColSeq->Index]; String sObjId = pGDC->Values[nIndex][ColId->Index]; EdObjSeq->Text = sObjSeq; // m_pEdtDesigner->SelectObject(sObjSeq.ToInt()); TVmsFormObject *pObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt()); if (pObj) { #if 0 String sObjKind = pObj->ObjType; APP_SetCode(CbObjKind, sObjKind); ChangeFormObjectPanel(sObjKind); EdObjId->Text = pObj->ObjId; SeLeft->Value = pObj->GetLeft(); SeTop->Value = pObj->GetTop(); #endif } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::SelObjectListData() { CMM_ClearGridTableView(TvObjList); int nObjCnt = m_pEdtDesigner->GetObjectCount(); TVmsFormObject *pObj; for (int ii = 0; ii < nObjCnt; ii++) { pObj = m_pEdtDesigner->GetObject(ii); if (pObj) { AddObjectToList(pObj); } } if (TvObjList->DataController->RecordCount > 0) TvObjList->DataController->FocusedRecordIndex = 0; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::AddObjectToList(TVmsFormObject *pObj, bool bSelect /* =false */ ) { int nAddRow = -1; String sFormType = APP_GetCode(CbFormType); TcxGridDataController *pGDC = TvObjList->DataController; try { TvObjList->BeginUpdate(); pGDC->BeginUpdate(); nAddRow = pGDC->AppendRecord(); pGDC->Values[nAddRow][ColSeq->Index] = String(pObj->ObjSeq); pGDC->Values[nAddRow][ColId->Index] = String(pObj->ObjId); pGDC->Values[nAddRow][ColObjKind->Index] = FindObjectKindName(pObj->ObjType, pObj->FillIn); pGDC->Values[nAddRow][ColData->Index] = pObj->Text; // pGDC->Values[nAddRow][ColX->Index] = String(pObj->GetLeft()); // pGDC->Values[nAddRow][ColY->Index] = String(pObj->GetTop()); pGDC->Values[nAddRow][ColIfscId->Index] = pObj->Tag; pGDC->Values[nAddRow][ColObjMem->Index] = (int)pObj; } __finally { pGDC->EndUpdate(); TvObjList->EndUpdate(); if (bSelect && pGDC->RecordCount > 0) if (nAddRow >= 0) pGDC->FocusedRecordIndex = nAddRow; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnSortReClick(TObject *Sender) { TcxButton *pBtn = (TcxButton*)Sender; ReForm->Paragraph->Numbering = nsNone; ReForm->Paragraph->Alignment = (TAlignment)pBtn->Tag; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnBoldReClick(TObject *Sender) { if (ReForm->SelAttributes->Style.Contains(fsBold)) ReForm->SelAttributes->Style = TFontStyles() >> fsBold; else ReForm->SelAttributes->Style = TFontStyles() << fsBold; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::SeFontSizeRePropertiesChange(TObject *Sender) { if (((TcxSpinEdit*)Sender)->Value < ((TcxSpinEdit*)Sender)->Properties->MinValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MinValue; else if (((TcxSpinEdit*)Sender)->Value > ((TcxSpinEdit*)Sender)->Properties->MaxValue && ((TcxSpinEdit*)Sender) ->Properties->MaxValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MaxValue; ReForm->SelAttributes->Size = ((TcxSpinEdit*)Sender)->Value; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnDirectEditFontClick(TObject *Sender) { SeFontSizeRe->Value = ((TcxButton*)Sender)->Caption.Trim().ToIntDef(16); // ReForm->SelAttributes->Size = ((TcxButton*)Sender)->Caption.Trim().ToIntDef(16); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFontColorReClick(TObject *Sender) { #if 0 switch(CbFontColorRe->ItemIndex) { case 0: ReForm->SelAttributes->Color = clBlack; break; case 1: ReForm->SelAttributes->Color = clRed; break; case 2: ReForm->SelAttributes->Color = clLime; break; case 3: default: ReForm->SelAttributes->Color = clYellow; break; } #else ReForm->SelAttributes->Color = CbFontColorRe->Selected; // CbFontColorRe->Colors[CbFontColorRe->ItemIndex]; #endif } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFontNameReClick(TObject *Sender) { String sFontCode = APP_GetCode(CbFontNameRe); String sFontName = APP_GetCodeName(CbFontNameRe); ReForm->SelAttributes->Name = sFontName; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ReFormChange(TObject *Sender) { if (ChkAutoPreview->Checked) BtnPreviewClick(NULL); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ChkAutoPreviewClick(TObject *Sender) { if (ChkAutoPreview->Checked) BtnPreviewClick(NULL); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnPreviewClick(TObject *Sender) { if (ChkDrawModule->Checked) m_pEdtDesigner->PreviewDrawModuleForm(ReForm, ReFormTemp, ImgEdtPreview, FVmsRows, FVmsCols); else m_pEdtDesigner->PreviewDrawForm(ReForm, ReFormTemp, ImgEdtPreview); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnReApplyClick(TObject *Sender) { BtnPreviewClick(NULL); m_pEdtDesigner->AddDrawFormToVmsForm(ReForm, ImgEdtPreview); /* * ½Å±Ô·Î µî·ÏÇÑ °´Ã¼ÀÇ °´Ã¼Å¸ÀÔ°ú ÆùÆ®Äڵ带 ¾÷µ¥ÀÌÆ® ÇÑ´Ù. */ // CbVmsObjType->ItemIndex = 0; // For °íÁ¤¹®ÀÚ¿­ // String sObjType = APP_GetCode(CbVmsObjType); String sFormType = APP_GetCode(CbFormType); TVmsFormObject *pObj; int nObjCnt = m_pEdtDesigner->GetObjectCount(); for (int ii = 0; ii < nObjCnt; ii++) { pObj = m_pEdtDesigner->GetObject(ii); if (pObj->IsAddByEditor) { // Á÷Á¢ÀÔ·ÂÈ­¸é¿¡¼­ Æû¿¡Àû¿ëÀ» Ŭ¸¯ÇÏ¿© »ý¼ºÇÑ ¹®ÀÚ¿­ °´Ã¼ String sDsplText = pObj->Text; pObj->ObjId = ""; // String(ii+1); // TODO: µðºñ¿¡¼­ »ý¼ºÇؾßÇÔ pObj->ObjKind = FORM_OBJ_KIND_TEXT; pObj->ObjType = FORM_OBJ_KIND_TEXT; pObj->Tag = 0; pObj->ObjSize = sDsplText.Length(); pObj->BkColorCode = "00"; pObj->Blink = false; pObj->ImageId = pObj->ObjId; pObj->Text = sDsplText; pObj->RunText = pObj->Text; #if 0 TCDSFontName *pObjFont = CDSFontManager->FindFontCodeByName(pObj->FontName); if (pObjFont != NULL) { pObj->FontNameCode = pObjFont->VMS_FONT_NAME_CD; } else { pObj->FontNameCode = "00"; } pObj->FontColorCode = CDSFontManager->GetFontColorCode((int)pObj->FontColor); #endif pObj->FillIn = DFLT_TEXT_TYPE; // ¹®ÀÚ¿­ À¯Çü if (FORM_TYPE_EMER != sFormType && FORM_TYPE_PUBR != sFormType) { // ±ä±Þ, È«º¸ ÆûÀÌ ¾Æ´Ñ°æ¿ì ÇÊÀÎ ¼³Á¤ String DSPL_TEXT = pObj->Text.Trim(); TVmsTextItem *pFillInObj = VmsTextItemManager->FFillInLists.Find(DSPL_TEXT); if (pFillInObj != NULL) { pObj->FillIn = pFillInObj->TXT_ITEM_ID; } } } } PgEdit->ActivePageIndex = 0; SelObjectListData(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFormTypePropertiesChange(TObject *Sender) { // VMSÆûÀ¯Çü ÀÌ º¯°æ µÉ °æ¿ì ó¸®ÇØ¾ß ÇÒ ³»¿ë } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFormBkClrClick(TObject *Sender) { m_pEdtDesigner->SetBkColor(CDSFontManager->GetBackColorCode((int)CbFormBkClr->Selected)); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnMoveClick(TObject *Sender) { if (m_bEdit) return; TcxButton *pBtn = (TcxButton*)Sender; switch(pBtn->Tag) { case 0: m_pEdtDesigner->StepMoveLeft(); break; case 1: m_pEdtDesigner->StepMoveRight(); break; case 2: m_pEdtDesigner->StepMoveUp(); break; case 3: m_pEdtDesigner->StepMoveDown(); break; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnAlignClick(TObject *Sender) { if (m_bEdit) return; TcxButton *pBtn = (TcxButton*)Sender; if (m_pEdtDesigner->GetSelectedObjectCount() < 1) return; switch(pBtn->Tag) { case 0: m_pEdtDesigner->SetLeftAlign(m_pEdtDesigner->GetLeftAlign()); break; case 1: m_pEdtDesigner->SetRightAlign(m_pEdtDesigner->GetRightAlign()); break; case 2: m_pEdtDesigner->SetTopAlign(m_pEdtDesigner->GetTopAlign()); break; case 3: m_pEdtDesigner->SetBottomAlign(m_pEdtDesigner->GetBottomAlign()); break; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnCenterClick(TObject *Sender) { if (m_bEdit) return; TcxButton *pBtn = (TcxButton*)Sender; if (m_pEdtDesigner->GetSelectedObjectCount() < 1) return; switch(pBtn->Tag) { case 0: m_pEdtDesigner->SetAlignWidthCenter(); break; case 1: m_pEdtDesigner->SetAlignHeightCenter(); break; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::SePosPropertiesChange(TObject *Sender) { if (m_bEdit) return; if (((TcxSpinEdit*)Sender)->Value < ((TcxSpinEdit*)Sender)->Properties->MinValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MinValue; else if (((TcxSpinEdit*)Sender)->Value > ((TcxSpinEdit*)Sender)->Properties->MaxValue && ((TcxSpinEdit*)Sender) ->Properties->MaxValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MaxValue; TcxSpinEdit *pPos = (TcxSpinEdit*)Sender; if (m_pEdtDesigner->GetSelectedObjectCount() < 1) return; int nValue = pPos->Value; switch(pPos->Tag) { case 0: m_pEdtDesigner->MoveLeft(nValue); break; case 1: m_pEdtDesigner->MoveUp(nValue); break; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbObjBkClrClick(TObject *Sender) { if (m_bEdit) return; m_pEdtDesigner->SetObjectBkColorCode(String(CbObjBkClr->ItemIndex)); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ChkBlinkingClick(TObject *Sender) { if (m_bEdit) return; m_pEdtDesigner->SetObjectBlink(ChkBlinking->Checked); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::EdDsplTxtKeyPress(TObject *Sender, wchar_t &Key) { if (m_bEdit) return; if (Key == '\'') { Key = '`'; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::EdDsplTxtPropertiesChange(TObject *Sender) { if (m_bEdit) return; m_pEdtDesigner->SetObejctText(EdDsplTxt->Text); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnObjFontColorClick(TObject *Sender) { if (m_bEdit) return; // 00 Èæ»ö(Black) #000000 // 01 Àû»ö(Red) #FF0000 // 02 ¿¬³ì»ö(Lime) #00FF00 // 03 Ȳ»ö(Amber) #FFFF00 TcxButton *pClrBtn = (TcxButton*)Sender; String sFontColorCd; sFontColorCd.printf(L"%02d", pClrBtn->Tag); m_pEdtDesigner->SetObejctFontColorCode(sFontColorCd); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFontClrClick(TObject *Sender) { if (m_bEdit) return; if (CbFontClr->ItemIndex == CbFontClr->Items->Count - 1) { m_pEdtDesigner->SetObejctFontColorCode("99"); } else { m_pEdtDesigner->SetObejctFontColorCode(CDSFontManager->GetFontColorCode((int)CbFontClr->Selected)); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnFontSizeClick(TObject *Sender) { if (m_bEdit) return; TcxButton *pBtn = (TcxButton*)Sender; String sFontSize = pBtn->Caption; int nFontSize = sFontSize.Trim().ToIntDef(16); SeFontSize->Value = nFontSize; // m_pEdtDesigner->SetObejctFontSize(nFontSize); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::SeFontSizePropertiesChange(TObject *Sender) { if (m_bEdit) return; if (((TcxSpinEdit*)Sender)->Value < ((TcxSpinEdit*)Sender)->Properties->MinValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MinValue; else if (((TcxSpinEdit*)Sender)->Value > ((TcxSpinEdit*)Sender)->Properties->MaxValue && ((TcxSpinEdit*)Sender) ->Properties->MaxValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MaxValue; int nFontSize = SeFontSize->Value; m_pEdtDesigner->SetObejctFontSize(nFontSize); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFontNamePropertiesChange(TObject *Sender) { if (m_bEdit) return; String sFontCode = APP_GetCode(CbFontName); String sFontName = APP_GetCodeName(CbFontName); m_pEdtDesigner->SetObejctFontName(sFontName.Trim()); m_pEdtDesigner->SetObejctFontNameCode(sFontCode); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbTextAlignPropertiesChange(TObject *Sender) { if (m_bEdit) return; m_pEdtDesigner->SetObejctTextAlign(CbTextAlign->ItemIndex); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::EdObjIdPropertiesChange(TObject *Sender) { if (m_bEdit) return; try { m_pEdtDesigner->SetObjectId(EdObjId->Text.Trim()); } catch(...) { } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ChkFontBoldClick(TObject *Sender) { if (m_bEdit) return; m_pEdtDesigner->SetObejctFontBold(ChkFontBold->Checked); } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::InsertVmsImage(String ANmbr, String AExpl, String AFileName, String ATypeCd) { String sQry; TADOQuery *pADO = NULL; sQry = "INSERT INTO TB_VMS_SYMB_LIB(SYMB_LIB_NMBR, RGST_DT, SYMB_EXPL, IMAG_DATA, SYMB_FILE_NM, SYMB_TYPE, AVI_DATA, IMAG_SIZE, UPDT_DT, DEL_YN) \r\n" " VALUES(:p01, :p02, :p03, :p04, NULL, :p05, NULL, :p06, :p07, 'N' ) \r\n"; int nRowHeight = 0; TMemoryStream *dataStream = new TMemoryStream(); ImgEdtTemp->Picture->Bitmap->SaveToStream(dataStream); try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", ANmbr); ITSDb_SQLBind(pADO, "p02", Now().FormatString("yyyymmddhhnnss")); ITSDb_SQLBind(pADO, "p03", AExpl); pADO->Parameters->ParamByName("p04")->LoadFromStream(dataStream, ftBlob); ITSDb_SQLBind(pADO, "p05", ATypeCd); ITSDb_SQLBind(pADO, "p06", FFileSize); ITSDb_SQLBind(pADO, "p07", Now().FormatString("yyyymmddhhnnss")); pADO->ExecSQL(); return true; } catch(EDatabaseError & E) { DBERRORMSG("FrmVmsMsgMngr::InsertVmsImage", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception & e) { DBERRORMSG("FrmVmsMsgMngr::InsertVmsImage", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } if (dataStream) delete dataStream; dataStream = NULL; } return true; } // --------------------------------------------------------------------------- String __fastcall TFrmVmsMsgFormMngr::GetNewVmsFormPictObjId() { String sQry; TADOQuery *pADO = NULL; String result = "SG-0000000"; sQry = "SELECT 'SG-' || LPAD(NVL(MAX(SUBSTR(VMS_FORM_OBJ_ID, -7)), '0000000') + 1, 7, '0') AS NEWID FROM TB_VMS_FORM_OBJ_PICT WHERE SUBSTR(VMS_FORM_OBJ_ID, 1,3) = 'SG-'\r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLOpen(pADO); pADO->Open(); result = pADO->FieldByName("NEWID")->AsString; } catch(EDatabaseError & E) { DBERRORMSG("TFrmVmsMsgFormMngr::GetNewVmsFormPictObjId", String(E.ClassName()), E.Message, sQry); return result; } catch(Exception & e) { DBERRORMSG("TFrmVmsMsgFormMngr::GetNewVmsFormPictObjId", String(e.ClassName()), e.Message, sQry); return result; } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return result; } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::InsertVmsSymbLib(String VMS_FORM_OBJ_ID, String PICT_NM, String PICT_EXT, int PICT_DATA_SZ, int PICT_WDTH, int PICT_HGHT, String USE_YN, String ALOCAL_FILE_NM /* ="" */ ) { String sQry; TADOQuery *pADO = NULL; String LOCAL_FILE_NM = (ALOCAL_FILE_NM == "") ? CURR_LOCAL_FILE_NM : ALOCAL_FILE_NM; sQry = "INSERT INTO TB_VMS_FORM_OBJ_PICT ( \r\n" " VMS_FORM_OBJ_ID, \r\n" " PICT_NM, \r\n" " PICT_WDTH, \r\n" " PICT_HGHT, \r\n" " PICT_DATA_SZ, \r\n" " PICT_DATA, \r\n" " PICT_TYPE, \r\n" " RGSTR_ID, \r\n" " REG_DT ) \r\n" " VALUES ( \r\n" " :p01, \r\n" " :p02, \r\n" " :p03, \r\n" " :p04, \r\n" " :p05, \r\n" " :p06, \r\n" " :p07, \r\n" " :p08, \r\n" " SYSDATE ) \r\n"; TMemoryStream *dataStream = new TMemoryStream(); try { dataStream->LoadFromFile(LOCAL_FILE_NM); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_OBJ_ID; pADO->Parameters->ParamByName("p02")->Value = PICT_NM; pADO->Parameters->ParamByName("p03")->Value = PICT_WDTH; pADO->Parameters->ParamByName("p04")->Value = PICT_HGHT; pADO->Parameters->ParamByName("p05")->Value = PICT_DATA_SZ; pADO->Parameters->ParamByName("p06")->LoadFromStream(dataStream, ftBlob); pADO->Parameters->ParamByName("p07")->Value = RealPictTypeToDb(PICT_EXT); pADO->Parameters->ParamByName("p08")->Value = g_AppCfg.OPER_ID; pADO->ExecSQL(); } catch(EDatabaseError & E) { DBERRORMSG("TFrmVmsMsgFormMngr::InsertVmsSymbLib", String(E.ClassName()), E.Message, sQry); return false; } catch(Exception & e) { DBERRORMSG("TFrmVmsMsgFormMngr::InsertVmsSymbLib", String(e.ClassName()), e.Message, sQry); return false; } } __finally { if (pADO) { pADO->Close(); delete pADO; } SAFE_DELETE(dataStream); } return true; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::LoadingFileImage(TImage *AImage, String AFileName) { try { AImage->Picture->LoadFromFile(AFileName); if (AImage->Picture->Graphic->ClassName() == "TGIFImage") { ((TGIFImage*)AImage->Picture->Graphic)->Animate = true; AImage->Transparent = true; } else { AImage->Transparent = false; } } catch(Exception & e) { String errMsg = "À̹ÌÁö¸¦ Àоî¿À´Â Áß¿¡ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù.\r\n" + e.Message; Application->MessageBox(errMsg.c_str(), L"À̹ÌÁö ·Îµù ½ÇÆÐ", MB_OK | MB_ICONERROR | MB_APPLMODAL); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::OpenBmpCanClose(TObject *Sender, bool &CanClose) { CURR_LOCAL_FILE_NM = OpenBmp->FileName; String sFilePath = ExtractFilePath(CURR_LOCAL_FILE_NM); CURR_PIC_FILE_NM = ExtractFileName(CURR_LOCAL_FILE_NM); String sFileExt = ExtractFileExt(CURR_LOCAL_FILE_NM); OpenBmp->InitialDir = sFilePath; CURR_USE_YN = "Y"; CURR_PICT_EXT = ""; sFileExt = StringReplace(sFileExt, ".", "", TReplaceFlags() << rfReplaceAll); sFileExt = sFileExt.LowerCase(); TSymbFmt *symbFmt = FSymbFmtLists.Find(sFileExt); if (symbFmt == NULL) { Application->MessageBox(L"À̹ÌÁö ½É¹ú·Î Áö¿øÇÏÁö ¾Ê´Â Çü½ÄÀÔ´Ï´Ù.\r\nÁö¿øÇü½Ä(bmp, jpg, png, ico)", L"À̹ÌÁö ½É¹ú Ãß°¡ ½ÇÆÐ", MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } CURR_PICT_EXT = symbFmt->fmtType; TMemoryStream *pPicStream = new TMemoryStream(); try { try { pPicStream->LoadFromFile(CURR_LOCAL_FILE_NM); CURR_PICT_DATA_SZ = pPicStream->Size; LoadingFileImage(ImgGeneral, CURR_LOCAL_FILE_NM); CURR_PICT_WDTH = ImgGeneral->Picture->Width; CURR_PICT_HGHT = ImgGeneral->Picture->Height; if (ImgGeneral->Picture->Graphic->ClassName() == "TGIFImage") { ((TGIFImage*)ImgGeneral->Picture->Graphic)->Animate = true; ImgGeneral->Transparent = true; } else { ImgGeneral->Transparent = false; } } catch(Exception & e) { String errMsg = "À̹ÌÁö ÆÄÀÏ Ã³¸® Áß¿¡ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù.\r\n" + e.Message; Application->MessageBox(errMsg.c_str(), L"À̹ÌÁö ÆÄÀÏ Ãß°¡ ½ÇÆÐ", MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } } __finally { SAFE_DELETE(pPicStream); } CURR_PICT_NM = EdFormId->Text; bool bResult = InsertVmsSymbLib(CURR_VMS_FORM_OBJ_ID, CURR_PICT_NM, CURR_PICT_EXT, CURR_PICT_DATA_SZ, CURR_PICT_WDTH, CURR_PICT_HGHT, CURR_USE_YN); if (bResult) { /////// Æû°´Ã¼¸¦ »ý¼ºÇؼ­ Ãß°¡ÇÑ´Ù. TVmsFormObject *pObj = m_pEdtDesigner->AddObject(odtBmp); if (!pObj) { String errMsg = "À̹ÌÁö ÆÄÀÏ °´Ã¼ ó¸® Áß¿¡ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù."; Application->MessageBox(errMsg.c_str(), L"À̹ÌÁö ÆÄÀÏ °´Ã¼ Ãß°¡ ½ÇÆÐ", MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } String sPictId = CURR_VMS_FORM_OBJ_ID; String sImagePath = CURR_LOCAL_FILE_NM; String sPictNm = CURR_PICT_NM; String sPictSize = CURR_PICT_DATA_SZ; int nPictW = CURR_PICT_WDTH; int nPictH = CURR_PICT_HGHT; String sPictExt = CURR_PICT_EXT; int nNewObjSeq = m_pEdtDesigner->GetNewObjectSeq(); EdObjSeq->Text = String(nNewObjSeq); pObj->ObjSeq = nNewObjSeq; pObj->ObjId = sPictId; pObj->ObjKind = FORM_OBJ_KIND_IMAGE; pObj->ObjType = pObj->ObjKind; pObj->ObjSize = sPictSize.ToIntDef(0); pObj->BkColorCode = m_pEdtDesigner->BkColorCode; pObj->Blink = false; pObj->Tag = "N"; pObj->Text = sPictNm; pObj->ImageId = sPictId; LoadingImage(pObj, sImagePath, nPictW, nPictH); pObj->SetPos(0, 0); if (pObj->Left < 0) pObj->Left = 0; if (pObj->Top < 0) pObj->Top = 0; pObj->Show(); AddObjectToList(pObj, true); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnObjDeleteClick(TObject *Sender) { if (m_pEdtDesigner->GetSelectedObjectCount() < 1) return; String sMsgString; sMsgString = lblText6->Caption; // "¼±ÅÃÇÑ °´Ã¼ Á¤º¸¸¦ ¸ðµÎ »èÁ¦ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsgString.c_str(), lblText7->Caption.c_str(), // L"°´Ã¼ Á¤º¸ »èÁ¦", MB_YESNO | MB_ICONQUESTION | MB_APPLMODAL) != IDYES) { return; } bool bUse = false; TVmsFormObject *pObj; int nObjCnt = m_pEdtDesigner->GetObjectCount(); for (int ii = nObjCnt - 1; ii >= 0; ii--) { pObj = m_pEdtDesigner->GetObject(ii); if (pObj->Selected) { m_pEdtDesigner->DelObject(ii); } } if (bUse) { Application->MessageBox(lblText8->Caption.c_str(), // L"VMS Æû °´Ã¼ »èÁ¦\r\nVMS Æû °´Ã¼ Áß Á¤º¸Á¦°ø±¸°£¿¡ ¼³Á¤µÈ °´Ã¼´Â »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); } SelObjectListData(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ColXGetDataText(TcxCustomGridTableItem *Sender, int ARecordIndex, UnicodeString &AText) { if (ARecordIndex < 0) return; try { int nMemPtr = (int)(TvObjList->DataController->Values[ARecordIndex][ColObjMem->Index]); TVmsFormObject *pObj = (TVmsFormObject*)nMemPtr; if (pObj) { AText = pObj->GetLeft(); } } catch(Exception & e) { } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ColYGetDataText(TcxCustomGridTableItem *Sender, int ARecordIndex, UnicodeString &AText) { if (ARecordIndex < 0) return; try { int nMemPtr = (int)(TvObjList->DataController->Values[ARecordIndex][ColObjMem->Index]); TVmsFormObject *pObj = (TVmsFormObject*)nMemPtr; if (pObj) { AText = pObj->GetTop(); } } catch(Exception & e) { } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbVmsObjTypeClick(TObject *Sender) { if (BtnAddText->CanFocus()) { BtnAddText->SetFocus(); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::UpdateObjectIfscId() { TVmsFormObject *pObj; int nObjCnt = m_pEdtDesigner->GetObjectCount(); for (int ii = nObjCnt - 1; ii >= 0; ii--) { pObj = m_pEdtDesigner->GetObject(ii); if (pObj->Selected) { int nObjType = pObj->ObjType.ToIntDef(0); if (nObjType == 91 || // @ÃàÅëÇà½Ã°£(°íÁ¤) nObjType == 92 || // @Ãà¼ÒÅë»óȲ(°íÁ¤) nObjType == 101 || nObjType == 102 || nObjType == 103 || nObjType == 104 || // @ÁÖÂ÷Àå (nObjType >= 401 && nObjType <= 413)) { // pObj->Tag = EdIfscId->Text.Trim(); } } } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnCopyAddClick(TObject *Sender) { int nIdx = TvList->DataController->FocusedRecordIndex; if (nIdx < 0) return; String sOrgFormId = EdFormId->Text; if (sOrgFormId.IsEmpty()) { Application->MessageBox(L"VMS Æû º¹»ç Ãß°¡\r\nº¹»ç Ãß°¡ÇÒ VMS ÆûÀ» ¸ñ·Ï¿¡¼­ ¼±ÅÃÇϼ¼¿ä.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } String sFormName = EdFormName->Text; bool bInput = InputQuery("Æû¸íĪ", "½Å±Ô Æû¸íĪ ÀÔ·ÂÇϼ¼¿ä.", sFormName); if (!bInput || sFormName == "") { return; } if (AnsiString(sFormName).Length() > 60) { Application->MessageBox(L"Æû¸íĪÀº 60Byte¸¦ ÃʰúÇÒ ¼ö ¾ø½À´Ï´Ù.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } String sFormType = APP_GetCode(CbFormType); String sNewFormId = GetNextVmsFormId(sFormType.SubString(1, 1)); ITSDb_GetConnection()->BeginTrans(); if (CopyFormAdd(sOrgFormId, sNewFormId, sFormName)) { ITSDb_GetConnection()->CommitTrans(); Application->MessageBox(L"VMS Æû º¹»ç Ãß°¡\r\nVMS Æû Á¤º¸¸¦ º¹»ç Ãß°¡ ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK | MB_ICONINFORMATION | MB_APPLMODAL); FUpdate = true; LoadVmsForm(); CMM_SetGridRow(CxList, TvList, sNewFormId, ColVMS_FORM_ID->Index); DisplayInfo(); } else { ITSDb_GetConnection()->RollbackTrans(); } } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::CopyFormAdd(String AOrgFormId, String ANewFormId, String AFormName) { bool bResult = false; String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); sQry = "INSERT INTO TB_VMS_FORM ( \r\n" " VMS_FORM_ID, \r\n" " VMS_MODL_KIND, \r\n" " VMS_FORM_TYPE, \r\n" " VMS_FORM_NM, \r\n" " DSPL_EFF, \r\n" " DSPL_HR, \r\n" " BACK_CLR, \r\n" " VMS_FORM_IMG, \r\n" " RGSTR_ID, \r\n" " REG_DT, \r\n" " CHNGR_ID, \r\n" " CHG_DT ) \r\n" " SELECT :p01, \r\n" " VMS_MODL_KIND, \r\n" " VMS_FORM_TYPE, \r\n" " :p03, \r\n" " DSPL_EFF, \r\n" " DSPL_HR, \r\n" " BACK_CLR, \r\n" " VMS_FORM_IMG, \r\n" " :p04, \r\n" " SYSDATE, \r\n" " NULL, \r\n" " NULL \r\n" " FROM TB_VMS_FORM \r\n" " WHERE VMS_FORM_ID = :p02 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", ANewFormId); ITSDb_SQLBind(pADO, "p02", AOrgFormId); ITSDb_SQLBind(pADO, "p03", AFormName); ITSDb_SQLBind(pADO, "p04", g_AppCfg.OPER_ID); pADO->ExecSQL(); TVmsFormObject *pFormObj = NULL; TcxGridDataController *pGDC = TvObjList->DataController; int nObjCnt = pGDC->RecordCount; String VMS_FORM_ID = ANewFormId; String VMS_MODL_KIND = APP_GetCode(CbSizeType); // FVmsTypeCd String VMS_FORM_TYPE = APP_GetCode(CbFormType); String VMS_FORM_NM = AFormName; String DSPL_EFF = APP_GetCode(CbFormDsplEff); int DSPL_HR = SeDsplHr->Value; String BACK_CLR = CDSFontManager->GetBackColorCode(CbFormBkClr->ItemIndex); String RGSTR_ID = g_AppCfg.OPER_ID; String OBJ_VMS_FORM_ID = VMS_FORM_ID.SubString(1, 6); // Æû ¿ÀºêÁ§Æ® ±¸¼ºÁ¤º¸ ÀúÀå sQry = "INSERT INTO TB_VMS_FORM_VMS_FORM_OBJ ( \r\n" " VMS_FORM_ID, \r\n" " SN, \r\n" " VMS_FORM_OBJ_KIND, \r\n" " VMS_FORM_OBJ_ID, \r\n" " BACK_CLR, \r\n" " FORM_OBJ_PSTN_X, \r\n" " FORM_OBJ_PSTN_Y, \r\n" " FORM_OBJ_DSPL_WDTH, \r\n" " FORM_OBJ_DSPL_HGHT, \r\n" " FORM_OBJ_BLNK_YN ) \r\n" " VALUES ( \r\n" " :p01, \r\n" " :p02, \r\n" " :p03, \r\n" " :p04, \r\n" " :p05, \r\n" " :p06, \r\n" " :p07, \r\n" " :p08, \r\n" " :p09, \r\n" " :p10 ) \r\n"; ITSDb_SQLText(pADO, sQry); for (int ii = 0; ii < nObjCnt; ii++) { String sObjSeq = VarToStr(pGDC->Values[ii][ColSeq->Index]); pFormObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt()); if (!pFormObj) continue; // ÀÌ·ÂÀ¸·Î Á¶È¸Çϴ°÷¿¡¼­ ÁÂÇ¥¸¦ 0x02·Î ÀúÀåÇϴµ¥ À½¼ö°¡ ³ª¿À´Â °æ¿ì // 2ÀÚ¸®·Î 󸮰¡ µÇÁö ¾Ê±â ¶§¹®¿¡ ¿©±â¼­ ¸·¾ÆÁØ´Ù. if (pFormObj->Left < 0) pFormObj->Left = 0; if (pFormObj->Top < 0) pFormObj->Top = 0; int SN = ii + 1; String VMS_FORM_OBJ_KIND = pFormObj->ObjKind; String VMS_FORM_OBJ_ID = pFormObj->ObjId; if (VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_TEXT) { VMS_FORM_OBJ_ID.printf(L"%s-%03d", OBJ_VMS_FORM_ID, SN); } String BACK_CLR = pFormObj->BkColorCode; int FORM_OBJ_PSTN_X = pFormObj->Left; int FORM_OBJ_PSTN_Y = pFormObj->Top; String FORM_OBJ_BLNK_YN = pFormObj->Blink ? "Y" : "N"; pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p02")->Value = SN; pADO->Parameters->ParamByName("p03")->Value = VMS_FORM_OBJ_KIND; pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_OBJ_ID; pADO->Parameters->ParamByName("p05")->Value = BACK_CLR; pADO->Parameters->ParamByName("p06")->Value = FORM_OBJ_PSTN_X; pADO->Parameters->ParamByName("p07")->Value = FORM_OBJ_PSTN_Y; pADO->Parameters->ParamByName("p08")->Value = pFormObj->GetWidth(); pADO->Parameters->ParamByName("p09")->Value = pFormObj->GetHeight(); pADO->Parameters->ParamByName("p10")->Value = FORM_OBJ_BLNK_YN; ITSDb_SQLExec(pADO); } int nHMaxSeq = 0; int nHObjCnt = nObjCnt; FOR_STL(TFormObjCell*, pCell, FrmVmsMsgFormMngr->FFormObjCellMap) { if (pCell->OBJ_ID != "") { int maxSeq = pCell->OBJ_ID.SubString(pCell->OBJ_ID.Length() - 2, 3).ToIntDef(1); if (maxSeq > nHMaxSeq) { nHMaxSeq = maxSeq; } } } // µµÇü ¿ÀºêÁ§Æ® °´Ã¼ Ãß°¡ FOR_STL(TFormObjCell*, pCell, FrmVmsMsgFormMngr->FFormObjCellMap) { nHObjCnt++; int SN = nHObjCnt; pCell->OBJ_SEQ = SN; String VMS_FORM_OBJ_KIND = FORM_OBJ_KIND_FIGURE; String VMS_FORM_OBJ_ID = pCell->OBJ_ID; if (VMS_FORM_OBJ_ID == "") { nHMaxSeq++; VMS_FORM_OBJ_ID.printf(L"%sH%03d", OBJ_VMS_FORM_ID, nHMaxSeq); pCell->OBJ_ID = VMS_FORM_OBJ_ID; } String BACK_CLR = "00"; int FORM_OBJ_PSTN_X = pCell->OBJ_PSTN_X; int FORM_OBJ_PSTN_Y = pCell->OBJ_PSTN_Y; String FORM_OBJ_BLNK_YN = "N"; pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p02")->Value = SN; pADO->Parameters->ParamByName("p03")->Value = VMS_FORM_OBJ_KIND; pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_OBJ_ID; pADO->Parameters->ParamByName("p05")->Value = BACK_CLR; pADO->Parameters->ParamByName("p06")->Value = FORM_OBJ_PSTN_X; pADO->Parameters->ParamByName("p07")->Value = FORM_OBJ_PSTN_Y; pADO->Parameters->ParamByName("p08")->Value = 0; pADO->Parameters->ParamByName("p09")->Value = 0; pADO->Parameters->ParamByName("p10")->Value = FORM_OBJ_BLNK_YN; ITSDb_SQLExec(pADO); } // ÅØ½ºÆ® ¿ÀºêÁ§Æ® Á¤º¸ ÀúÀå sQry = "INSERT INTO TB_VMS_FORM_OBJ_TXT ( \r\n" " VMS_FORM_OBJ_ID, \r\n" " TXT_WDTH, \r\n" " TXT_HGHT, \r\n" " TXT_ALGN_MTHD, \r\n" " FONT_CLR, \r\n" " FONT_TYPE, \r\n" " FONT_SZ, \r\n" " FONT_THCK, \r\n" " VMS_TXT_ITEM_ID, \r\n" " DSPL_TXT, \r\n" " RGSTR_ID, \r\n" " REG_DT ) \r\n" " VALUES ( \r\n" " :p01, \r\n" " :p02, \r\n" " :p03, \r\n" " :p04, \r\n" " :p05, \r\n" " :p06, \r\n" " :p07, \r\n" " :p08, \r\n" " :p09, \r\n" " :p10, \r\n" " :p11, \r\n" " SYSDATE ) \r\n"; ITSDb_SQLText(pADO, sQry); for (int ii = 0; ii < nObjCnt; ii++) { String sObjSeq = VarToStr(pGDC->Values[ii][ColSeq->Index]); pFormObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt()); if (!pFormObj) continue; if (pFormObj->ObjKind != FORM_OBJ_KIND_TEXT) { continue; } int SN = ii + 1; String VMS_FORM_OBJ_ID = pFormObj->ObjId; VMS_FORM_OBJ_ID.printf(L"%s-%03d", OBJ_VMS_FORM_ID, SN); int TXT_WDTH = pFormObj->GetWidth(); int TXT_HGHT = pFormObj->GetHeight(); String TXT_ALGN_MTHD = "C"; if (pFormObj->TextAlign == 0) { TXT_ALGN_MTHD = "L"; } else if (pFormObj->TextAlign == 1) { TXT_ALGN_MTHD = "R"; } String FONT_CLR = pFormObj->FontColorCode; String FONT_TYPE = pFormObj->FontNameCode; int FONT_SZ = pFormObj->FontSize; String FONT_THCK = pFormObj->FontBold ? "B" : "N"; String VMS_TXT_ITEM_ID = pFormObj->FillIn; String DSPL_TXT = pFormObj->Text; String RGSTR_ID = g_AppCfg.OPER_ID; String BACK_CLR = pFormObj->BkColorCode; int FORM_OBJ_PSTN_X = pFormObj->Left; int FORM_OBJ_PSTN_Y = pFormObj->Top; String FORM_OBJ_BLNK_YN = pFormObj->Blink ? "Y" : "N"; pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_OBJ_ID; pADO->Parameters->ParamByName("p02")->Value = TXT_WDTH; pADO->Parameters->ParamByName("p03")->Value = TXT_HGHT; pADO->Parameters->ParamByName("p04")->Value = TXT_ALGN_MTHD; pADO->Parameters->ParamByName("p05")->DataType = ftString; pADO->Parameters->ParamByName("p05")->Value = FONT_CLR; pADO->Parameters->ParamByName("p06")->DataType = ftString; pADO->Parameters->ParamByName("p06")->Value = FONT_TYPE; pADO->Parameters->ParamByName("p07")->Value = FONT_SZ; pADO->Parameters->ParamByName("p08")->DataType = ftString; pADO->Parameters->ParamByName("p08")->Value = FONT_THCK; pADO->Parameters->ParamByName("p09")->DataType = ftString; pADO->Parameters->ParamByName("p09")->Value = VMS_TXT_ITEM_ID; pADO->Parameters->ParamByName("p10")->DataType = ftString; pADO->Parameters->ParamByName("p10")->Value = DSPL_TXT; pADO->Parameters->ParamByName("p11")->DataType = ftString; pADO->Parameters->ParamByName("p11")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError & E) { DBERRORMSG("FrmVmsMsgMngr::CopyFormAdd", String(E.ClassName()), E.Message, sQry); } catch(Exception & e) { DBERRORMSG("FrmVmsMsgMngr::CopyFormAdd", String(e.ClassName()), e.Message, sQry); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnUpClick(TObject *Sender) { try { TvObjList->BeginUpdate(); int nCurIdx = TvObjList->DataController->FocusedRowIndex; // FocusedRecordIndex; if (nCurIdx <= 0) { return; } int nUpIdx = nCurIdx - 1; try { String sVal1 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColSeq->Index]); String sVal2 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColId->Index]); String sVal3 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColObjKind->Index]); String sVal4 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColData->Index]); String sVal5 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColIfscId->Index]); int sVal6 = (TvObjList->DataController->Values[nCurIdx][ColObjMem->Index]); TvObjList->DataController->Values[nCurIdx][ColSeq->Index] = TvObjList->DataController->Values[nUpIdx] [ColSeq->Index]; TvObjList->DataController->Values[nCurIdx][ColId->Index] = TvObjList->DataController->Values[nUpIdx] [ColId->Index]; TvObjList->DataController->Values[nCurIdx][ColObjKind->Index] = TvObjList->DataController->Values[nUpIdx] [ColObjKind->Index]; TvObjList->DataController->Values[nCurIdx][ColData->Index] = TvObjList->DataController->Values[nUpIdx] [ColData->Index]; TvObjList->DataController->Values[nCurIdx][ColIfscId->Index] = TvObjList->DataController->Values[nUpIdx] [ColIfscId->Index]; TvObjList->DataController->Values[nCurIdx][ColObjMem->Index] = TvObjList->DataController->Values[nUpIdx] [ColObjMem->Index]; TvObjList->DataController->Values[nUpIdx][ColSeq->Index] = sVal1; TvObjList->DataController->Values[nUpIdx][ColId->Index] = sVal2; TvObjList->DataController->Values[nUpIdx][ColObjKind->Index] = sVal3; TvObjList->DataController->Values[nUpIdx][ColData->Index] = sVal4; TvObjList->DataController->Values[nUpIdx][ColIfscId->Index] = sVal5; TvObjList->DataController->Values[nUpIdx][ColObjMem->Index] = sVal6; TvObjList->Controller->ClearSelection(); TvObjList->Controller->FocusedRowIndex = nUpIdx; // TvObjList->Controller->FocusedRecordIndex = nUpIdx; TvObjList->ViewData->Records[nUpIdx]->Focused = true; TvObjList->ViewData->Records[nUpIdx]->Selected = true; CxObjList->SetFocus(); // TcxCustomGridRow* ARow = TvObjList->ViewData->Rows[TvObjList->DataController->FocusedRowIndex]; } catch(...) { } } __finally { TvObjList->EndUpdate(); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnDownClick(TObject *Sender) { try { TvObjList->BeginUpdate(); int nCurIdx = TvObjList->DataController->FocusedRowIndex; // FocusedRecordIndex; // int nCurIdx = TvObjList->DataController->FocusedRecordIndex; if (nCurIdx < 0) { return; } if (nCurIdx == TvObjList->DataController->RecordCount - 1) { return; } int nDnIdx = nCurIdx + 1; try { String sVal1 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColSeq->Index]); String sVal2 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColId->Index]); String sVal3 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColObjKind->Index]); String sVal4 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColData->Index]); String sVal5 = VarToStr(TvObjList->DataController->Values[nCurIdx][ColIfscId->Index]); int sVal6 = (TvObjList->DataController->Values[nCurIdx][ColObjMem->Index]); TvObjList->DataController->Values[nCurIdx][ColSeq->Index] = TvObjList->DataController->Values[nDnIdx] [ColSeq->Index]; TvObjList->DataController->Values[nCurIdx][ColId->Index] = TvObjList->DataController->Values[nDnIdx] [ColId->Index]; TvObjList->DataController->Values[nCurIdx][ColObjKind->Index] = TvObjList->DataController->Values[nDnIdx] [ColObjKind->Index]; TvObjList->DataController->Values[nCurIdx][ColData->Index] = TvObjList->DataController->Values[nDnIdx] [ColData->Index]; TvObjList->DataController->Values[nCurIdx][ColIfscId->Index] = TvObjList->DataController->Values[nDnIdx] [ColIfscId->Index]; TvObjList->DataController->Values[nCurIdx][ColObjMem->Index] = TvObjList->DataController->Values[nDnIdx] [ColObjMem->Index]; TvObjList->DataController->Values[nDnIdx][ColSeq->Index] = sVal1; TvObjList->DataController->Values[nDnIdx][ColId->Index] = sVal2; TvObjList->DataController->Values[nDnIdx][ColObjKind->Index] = sVal3; TvObjList->DataController->Values[nDnIdx][ColData->Index] = sVal4; TvObjList->DataController->Values[nDnIdx][ColIfscId->Index] = sVal5; TvObjList->DataController->Values[nDnIdx][ColObjMem->Index] = sVal6; TvObjList->Controller->ClearSelection(); TvObjList->Controller->FocusedRowIndex = nDnIdx; // TvObjList->Controller->FocusedRecordIndex = nDnIdx; TvObjList->ViewData->Records[nDnIdx]->Focused = true; TvObjList->ViewData->Records[nDnIdx]->Selected = true; CxObjList->SetFocus(); // TcxCustomGridRow* ARow = TvObjList->ViewData->Rows[TvObjList->DataController->FocusedRowIndex]; } catch(...) { } } __finally { TvObjList->EndUpdate(); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnSaveClick(TObject *Sender) { if (EdFormId->Text.IsEmpty()) { Application->MessageBox(lblText14->Caption.c_str(), // L"VMS Æû ÀúÀå\r\nVMS Æû ID¸¦ ÀÔ·ÂÇϼ¼¿ä.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } if (EdFormName->Text.Trim().IsEmpty()) { Application->MessageBox(lblText15->Caption.c_str(), // L"VMS Æû ÀúÀå\r\nVMS Æû À̸§À» ÀÔ·ÂÇϼ¼¿ä.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } if (AnsiString(EdFormName->Text.Trim()).Length() > 50) { Application->MessageBox(lblText11->Caption.c_str(), // L"Æû¸íĪÀº 60Byte¸¦ ÃʰúÇÒ ¼ö ¾ø½À´Ï´Ù.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); return; } TcxGridDataController *pGDC = TvObjList->DataController; int nObjCnt = pGDC->RecordCount; String VMS_FORM_ID = EdFormId->Text; String VMS_MODL_KIND = APP_GetCode(CbSizeType); // FVmsTypeCd String VMS_FORM_TYPE = APP_GetCode(CbFormType); String VMS_FORM_NM = EdFormName->Text.Trim(); String DSPL_EFF = APP_GetCode(CbFormDsplEff); int DSPL_HR = SeDsplHr->Value; String BACK_CLR = CDSFontManager->GetBackColorCode(CbFormBkClr->ItemIndex); String VMS_FORM_IMG = ""; String RGSTR_ID = g_AppCfg.OPER_ID; String CHNGR_ID = ""; bool bResult = false; m_pEdtDesigner->GetVmsFormImage(ImgForm); /////////////////////////////////// ÆûÁ¤º¸ ÀúÀå ITSDb_GetConnection()->BeginTrans(); bResult = SaveVmsForm("Y"); if (!bResult) { ITSDb_GetConnection()->RollbackTrans(); return; } /////////////////////////////////// ÆûÁ¤º¸ ÇϺε¥ÀÌÅÍ »èÁ¦ bResult = DelVmsFormRltnTable(VMS_FORM_ID); if (!bResult) { ITSDb_GetConnection()->RollbackTrans(); return; } int newObjSeq = 0; TVmsFormObject *pFormObj = NULL; for (int ii = 0; ii < nObjCnt; ii++) { String sObjSeq = VarToStr(pGDC->Values[ii][ColSeq->Index]); pFormObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt()); if (!pFormObj) continue; if (pFormObj->ObjId != "") { newObjSeq = 1; break; } } if (newObjSeq > 0) { newObjSeq = nObjCnt + 1; // ±âÁ¸ ÆûÀ» ¼öÁ¤ÇÏ´Â °æ¿ì } else { newObjSeq = 1; // ½Å±Ô·Î Ãß°¡ÇÏ´Â ¸Þ½ÃÁö } String OBJ_VMS_FORM_ID = VMS_FORM_ID.SubString(1, 6); /////////////////////////////////// ÆûÁ¤º¸ ÇϺε¥ÀÌÅÍ ÀúÀå bResult = false; String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); // Æû ¿ÀºêÁ§Æ® ±¸¼ºÁ¤º¸ ÀúÀå sQry = "INSERT INTO TB_VMS_FORM_VMS_FORM_OBJ ( \r\n" " VMS_FORM_ID, \r\n" " SN, \r\n" " VMS_FORM_OBJ_KIND, \r\n" " VMS_FORM_OBJ_ID, \r\n" " BACK_CLR, \r\n" " FORM_OBJ_PSTN_X, \r\n" " FORM_OBJ_PSTN_Y, \r\n" " FORM_OBJ_DSPL_WDTH, \r\n" " FORM_OBJ_DSPL_HGHT, \r\n" " FORM_OBJ_BLNK_YN ) \r\n" " VALUES ( \r\n" " :p01, \r\n" " :p02, \r\n" " :p03, \r\n" " :p04, \r\n" " :p05, \r\n" " :p06, \r\n" " :p07, \r\n" " :p08, \r\n" " :p09, \r\n" " :p10 ) \r\n"; ITSDb_SQLText(pADO, sQry); for (int ii = 0; ii < nObjCnt; ii++) { String sObjSeq = VarToStr(pGDC->Values[ii][ColSeq->Index]); pFormObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt()); if (!pFormObj) continue; // ÀÌ·ÂÀ¸·Î Á¶È¸Çϴ°÷¿¡¼­ ÁÂÇ¥¸¦ 0x02·Î ÀúÀåÇϴµ¥ À½¼ö°¡ ³ª¿À´Â °æ¿ì // 2ÀÚ¸®·Î 󸮰¡ µÇÁö ¾Ê±â ¶§¹®¿¡ ¿©±â¼­ ¸·¾ÆÁØ´Ù. if (pFormObj->Left < 0) pFormObj->Left = 0; if (pFormObj->Top < 0) pFormObj->Top = 0; int SN = ii + 1; String VMS_FORM_OBJ_KIND = pFormObj->ObjKind; String VMS_FORM_OBJ_ID = pFormObj->ObjId; if (VMS_FORM_OBJ_ID == "") { VMS_FORM_OBJ_ID.printf(L"%s-%03d", OBJ_VMS_FORM_ID, newObjSeq++); pFormObj->ObjId = VMS_FORM_OBJ_ID; } String BACK_CLR = pFormObj->BkColorCode; int FORM_OBJ_PSTN_X = pFormObj->Left; int FORM_OBJ_PSTN_Y = pFormObj->Top; String FORM_OBJ_BLNK_YN = pFormObj->Blink ? "Y" : "N"; pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p02")->Value = SN; pADO->Parameters->ParamByName("p03")->Value = VMS_FORM_OBJ_KIND; pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_OBJ_ID; pADO->Parameters->ParamByName("p05")->Value = BACK_CLR; pADO->Parameters->ParamByName("p06")->Value = FORM_OBJ_PSTN_X; pADO->Parameters->ParamByName("p07")->Value = FORM_OBJ_PSTN_Y; pADO->Parameters->ParamByName("p08")->Value = pFormObj->GetWidth(); pADO->Parameters->ParamByName("p09")->Value = pFormObj->GetHeight(); pADO->Parameters->ParamByName("p10")->Value = FORM_OBJ_BLNK_YN; ITSDb_SQLExec(pADO); } int nHMaxSeq = 0; int nHObjCnt = nObjCnt; FOR_STL(TFormObjCell*, pCell, FrmVmsMsgFormMngr->FFormObjCellMap) { if (pCell->OBJ_ID != "") { int maxSeq = pCell->OBJ_ID.SubString(pCell->OBJ_ID.Length() - 2, 3).ToIntDef(1); if (maxSeq > nHMaxSeq) { nHMaxSeq = maxSeq; } } } // µµÇü ¿ÀºêÁ§Æ® °´Ã¼ Ãß°¡ FOR_STL(TFormObjCell*, pCell, FrmVmsMsgFormMngr->FFormObjCellMap) { nHObjCnt++; int SN = nHObjCnt; pCell->OBJ_SEQ = SN; String VMS_FORM_OBJ_KIND = FORM_OBJ_KIND_FIGURE; String VMS_FORM_OBJ_ID = pCell->OBJ_ID; if (VMS_FORM_OBJ_ID == "") { nHMaxSeq++; VMS_FORM_OBJ_ID.printf(L"%sH%03d", OBJ_VMS_FORM_ID, nHMaxSeq); pCell->OBJ_ID = VMS_FORM_OBJ_ID; } String BACK_CLR = "00"; int FORM_OBJ_PSTN_X = pCell->OBJ_PSTN_X; int FORM_OBJ_PSTN_Y = pCell->OBJ_PSTN_Y; String FORM_OBJ_BLNK_YN = "N"; pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p02")->Value = SN; pADO->Parameters->ParamByName("p03")->Value = VMS_FORM_OBJ_KIND; pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_OBJ_ID; pADO->Parameters->ParamByName("p05")->Value = BACK_CLR; pADO->Parameters->ParamByName("p06")->Value = FORM_OBJ_PSTN_X; pADO->Parameters->ParamByName("p07")->Value = FORM_OBJ_PSTN_Y; pADO->Parameters->ParamByName("p08")->Value = 0; pADO->Parameters->ParamByName("p09")->Value = 0; pADO->Parameters->ParamByName("p10")->Value = FORM_OBJ_BLNK_YN; ITSDb_SQLExec(pADO); } // ÅØ½ºÆ® ¿ÀºêÁ§Æ® Á¤º¸ ÀúÀå sQry = "INSERT INTO TB_VMS_FORM_OBJ_TXT ( \r\n" " VMS_FORM_OBJ_ID, \r\n" " TXT_WDTH, \r\n" " TXT_HGHT, \r\n" " TXT_ALGN_MTHD, \r\n" " FONT_CLR, \r\n" " FONT_TYPE, \r\n" " FONT_SZ, \r\n" " FONT_THCK, \r\n" " VMS_TXT_ITEM_ID, \r\n" " DSPL_TXT, \r\n" " RGSTR_ID, \r\n" " REG_DT ) \r\n" " VALUES ( \r\n" " :p01, \r\n" " :p02, \r\n" " :p03, \r\n" " :p04, \r\n" " :p05, \r\n" " :p06, \r\n" " :p07, \r\n" " :p08, \r\n" " :p09, \r\n" " :p10, \r\n" " :p11, \r\n" " SYSDATE ) \r\n"; ITSDb_SQLText(pADO, sQry); for (int ii = 0; ii < nObjCnt; ii++) { String sObjSeq = VarToStr(pGDC->Values[ii][ColSeq->Index]); pFormObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt()); if (!pFormObj) continue; if (pFormObj->ObjKind != FORM_OBJ_KIND_TEXT) { continue; } String VMS_FORM_OBJ_ID = pFormObj->ObjId; int TXT_WDTH = pFormObj->GetWidth(); int TXT_HGHT = pFormObj->GetHeight(); String TXT_ALGN_MTHD = "C"; if (pFormObj->TextAlign == 0) { TXT_ALGN_MTHD = "L"; } else if (pFormObj->TextAlign == 1) { TXT_ALGN_MTHD = "R"; } String FONT_CLR = pFormObj->FontColorCode; String FONT_TYPE = pFormObj->FontNameCode; int FONT_SZ = pFormObj->FontSize; String FONT_THCK = pFormObj->FontBold ? "B" : "N"; String VMS_TXT_ITEM_ID = pFormObj->FillIn; String DSPL_TXT = pFormObj->Text; String RGSTR_ID = g_AppCfg.OPER_ID; String BACK_CLR = pFormObj->BkColorCode; int FORM_OBJ_PSTN_X = pFormObj->Left; int FORM_OBJ_PSTN_Y = pFormObj->Top; String FORM_OBJ_BLNK_YN = pFormObj->Blink ? "Y" : "N"; pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_OBJ_ID; pADO->Parameters->ParamByName("p02")->Value = TXT_WDTH; pADO->Parameters->ParamByName("p03")->Value = TXT_HGHT; pADO->Parameters->ParamByName("p04")->Value = TXT_ALGN_MTHD; pADO->Parameters->ParamByName("p05")->DataType = ftString; pADO->Parameters->ParamByName("p05")->Value = FONT_CLR; pADO->Parameters->ParamByName("p06")->DataType = ftString; pADO->Parameters->ParamByName("p06")->Value = FONT_TYPE; pADO->Parameters->ParamByName("p07")->Value = FONT_SZ; pADO->Parameters->ParamByName("p08")->DataType = ftString; pADO->Parameters->ParamByName("p08")->Value = FONT_THCK; pADO->Parameters->ParamByName("p09")->DataType = ftString; pADO->Parameters->ParamByName("p09")->Value = VMS_TXT_ITEM_ID; pADO->Parameters->ParamByName("p10")->DataType = ftString; pADO->Parameters->ParamByName("p10")->Value = DSPL_TXT; pADO->Parameters->ParamByName("p11")->DataType = ftString; pADO->Parameters->ParamByName("p11")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError & E) { DBERRORMSG("FrmVmsMsgMngr::BtnSaveClick", String(E.ClassName()), E.Message, sQry); return; } catch(Exception & e) { DBERRORMSG("FrmVmsMsgMngr::BtnSaveClick", String(e.ClassName()), e.Message, sQry); return; } } __finally { if (pADO) { pADO->Close(); delete pADO; } if (bResult) { ITSDb_GetConnection()->CommitTrans(); Application->MessageBox(lblText16->Caption.c_str(), // L"VMS Æû Á¤º¸ ÀúÀå\r\nVMS Æû Á¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK | MB_ICONINFORMATION | MB_APPLMODAL); FUpdate = true; LoadVmsForm(); CMM_SetGridRow(CxList, TvList, VMS_FORM_ID, ColVMS_FORM_ID->Index); // DisplayInfo(); } else { ITSDb_GetConnection()->RollbackTrans(); } } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CheckImageSelected() { bool selImage = false; int nImgW = 0; int nImgH = 0; int nObjCnt = m_pEdtDesigner->GetObjectCount(); for (int ii = 0; ii < nObjCnt; ii++) { TVmsFormObject *pObj = m_pEdtDesigner->GetObject(ii); if (!pObj) continue; if (!pObj->Selected) continue; if (pObj->ObjKind == FORM_OBJ_KIND_TEXT) { selImage = false; break; } else { selImage = true; nImgW = pObj->GetWidth(); nImgH = pObj->GetHeight(); } } if (selImage) { TNotifyEvent evtW = SeObjW->Properties->OnChange; TNotifyEvent evtH = SeObjH->Properties->OnChange; SeObjW->Properties->OnChange = NULL; SeObjH->Properties->OnChange = NULL; SeObjW->Value = nImgW; SeObjH->Value = nImgH; SeObjW->Properties->OnChange = evtW; SeObjH->Properties->OnChange = evtH; PnlObjSymb->Visible = true; } else { PnlObjSymb->Visible = false; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::SeObjDsplSizePropertiesChange(TObject *Sender) { if (m_bEdit) return; if (((TcxSpinEdit*)Sender)->Value < ((TcxSpinEdit*)Sender)->Properties->MinValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MinValue; else if (((TcxSpinEdit*)Sender)->Value > ((TcxSpinEdit*)Sender)->Properties->MaxValue && ((TcxSpinEdit*)Sender) ->Properties->MaxValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MaxValue; int nImgW = SeObjW->Value; int nImgH = SeObjH->Value; int nObjCnt = m_pEdtDesigner->GetObjectCount(); for (int ii = 0; ii < nObjCnt; ii++) { TVmsFormObject *pObj = m_pEdtDesigner->GetObject(ii); if (!pObj) continue; if (!pObj->Selected) continue; if (pObj->ObjKind != FORM_OBJ_KIND_TEXT) { if (pObj->ObjKind == FORM_OBJ_KIND_IMAGE) { pObj->GetImage()->AutoSize = false; pObj->GetImage()->Stretch = true; } pObj->GetImage()->Width = nImgW; pObj->GetImage()->Height = nImgH; pObj->SetSize(nImgW, nImgH); } } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::PgEditClick(TObject *Sender) { try { if (PgEdit->Properties->ActivePage == TsDirect) { if (ReForm->Enabled) ReForm->SetFocus(); } else { // if (PnlEditForm->Enabled) PnlEditForm->SetFocus(); } } catch(Exception & e) { } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtrnReFormClearClick(TObject *Sender) { ReForm->Lines->Clear(); ReForm->SelAttributes->Style = TFontStyles() >> fsUnderline; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnRedClick(TObject *Sender) { TcxButton *pClrBtn = (TcxButton*)Sender; Graphics::TFontStyles fontStyle = ReForm->SelAttributes->Style; switch(pClrBtn->Tag) { case 0: ReForm->SelAttributes->Color = clLime; break; case 1: ReForm->SelAttributes->Color = clYellow; break; case 2: ReForm->SelAttributes->Color = clRed; break; } ReForm->SelAttributes->Style = fontStyle; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnObjDeleteAllClick(TObject *Sender) { String sMsgString; sMsgString = "Àüü °´Ã¼ Á¤º¸¸¦ ¸ðµÎ »èÁ¦ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsgString.c_str(), lblText7->Caption.c_str(), // L"°´Ã¼ Á¤º¸ »èÁ¦", MB_YESNO | MB_ICONQUESTION | MB_APPLMODAL) != IDYES) { return; } bool bUse = false; TVmsFormObject *pObj; int nObjCnt = m_pEdtDesigner->GetObjectCount(); for (int ii = nObjCnt - 1; ii >= 0; ii--) { pObj = m_pEdtDesigner->GetObject(ii); m_pEdtDesigner->DelObject(ii); } if (bUse) { Application->MessageBox(lblText8->Caption.c_str(), // L"VMS Æû °´Ã¼ »èÁ¦\r\nVMS Æû °´Ã¼ Áß Á¤º¸Á¦°ø±¸°£¿¡ ¼³Á¤µÈ °´Ã¼´Â »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù.", FTitle.c_str(), MB_OK | MB_ICONERROR | MB_APPLMODAL); } SelObjectListData(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::SeDsplHrPropertiesChange(TObject *Sender) { if (((TcxSpinEdit*)Sender)->Value < ((TcxSpinEdit*)Sender)->Properties->MinValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MinValue; else if (((TcxSpinEdit*)Sender)->Value > ((TcxSpinEdit*)Sender)->Properties->MaxValue && ((TcxSpinEdit*)Sender) ->Properties->MaxValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MaxValue; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ChkDrawModuleClick(TObject *Sender) { if (ChkDrawModule->Checked) m_pEdtDesigner->PreviewDrawModuleForm(ReForm, ReFormTemp, ImgEdtPreview, FVmsRows, FVmsCols); else m_pEdtDesigner->PreviewDrawForm(ReForm, ReFormTemp, ImgEdtPreview); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFillIn1PropertiesChange(TObject *Sender) { int nItemIndex = CbFillIn1->ItemIndex; TVmsTextItem *pObj = (TVmsTextItem*)CbFillIn1->Properties->Items->Objects[nItemIndex]; if (pObj != NULL) { // ReForm->SelAttributes->Style = TFontStyles() >> fsUnderline; // ReForm->SelText = " "; ReForm->SelAttributes->Style = ReForm->SelAttributes->Style << fsUnderline; ReForm->SelText = pObj->TXT_ITEM_FILLIN; ReForm->SelAttributes->Style = TFontStyles() >> fsUnderline; ReForm->SelText = " "; ReForm->SetFocus(); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ReFormClick(TObject *Sender) { TNotifyEvent evtFontName = CbFontNameRe->OnClick; TNotifyEvent evtFontColr = CbFontColorRe->OnClick; TNotifyEvent evtFontSize = SeFontSizeRe->Properties->OnChange; CbFontNameRe->OnClick = NULL; CbFontColorRe->OnClick = NULL; SeFontSizeRe->Properties->OnChange = NULL; String fontName = ReForm->SelAttributes->Name; int fontSize = ReForm->SelAttributes->Size; TColor fontColor = ReForm->SelAttributes->Color; // TColor bkColor = ReForm->Color; // TAlignment align = ReForm->Paragraph->Alignment; APP_SetCode(CbFontNameRe, APP_GetCodeIdByName(CbFontNameRe, fontName)); SeFontSizeRe->Value = fontSize; CbFontColorRe->Selected = fontColor; CbFontNameRe->OnClick = evtFontName; CbFontColorRe->OnClick = evtFontColr; SeFontSizeRe->Properties->OnChange = evtFontSize; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnAddFormObjClick(TObject *Sender) { PopupFormObjAdd->Popup(BtnAddFormObj->ClientOrigin.x, BtnAddFormObj->ClientOrigin.y + BtnAddFormObj->Height); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::MnuPouupFormObjAddClick(TObject *Sender) { TMenuItem *pMenu = (TMenuItem*)Sender; bool result = false; switch(pMenu->Tag) { case 1: result = AddSymbObj(); break; case 2: result = AddTrafObj(); break; case 3: result = AddCctvObj(); break; case 4: result = AddMoviObj(); break; case 5: break; case 6: break; case 7: break; default: return; } if (result) { } } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::AddSymbObj() { TVMSM510M *pSelForm = new TVMSM510M(this); pSelForm->FImageType = 1; pSelForm->SYMB_TYPE = "SBT1"; // ÀÏ¹Ý pSelForm->ShowModal(); if (!pSelForm->m_bSelected) { delete pSelForm; return false; } TVmsFormObject *pObj = m_pEdtDesigner->AddObject(odtBmp); if (!pObj) { delete pSelForm; return false; } String sPictId = pSelForm->EdPictId->Text; String sImagePath = pSelForm->EdImagePath->Text; String sPictNm = pSelForm->EdPictNm->Text; String sPictSize = pSelForm->EdPictSize->Text; int nPictW = pSelForm->EdPictW->Text.ToIntDef(10); int nPictH = pSelForm->EdPictH->Text.ToIntDef(10); String sPictExt = pSelForm->EdPictExt->Text; int nNewObjSeq = m_pEdtDesigner->GetNewObjectSeq(); EdObjSeq->Text = String(nNewObjSeq); pObj->ObjSeq = nNewObjSeq; pObj->ObjId = sPictId; pObj->ObjKind = FORM_OBJ_KIND_IMAGE; pObj->ObjType = pObj->ObjKind; pObj->ObjSize = sPictSize.ToIntDef(0); pObj->BkColorCode = m_pEdtDesigner->BkColorCode; pObj->Blink = false; pObj->Tag = "N"; pObj->Text = sPictNm; pObj->ImageId = sPictId; LoadingImage(pObj, sImagePath, nPictW, nPictH); pObj->SetPos(0, 0); if (pObj->Left < 0) pObj->Left = 0; if (pObj->Top < 0) pObj->Top = 0; pObj->Show(); AddObjectToList(pObj, true); delete pSelForm; return true; } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::AddTrafObj() { TVMSM510M *pSelForm = new TVMSM510M(this); pSelForm->FImageType = 1; pSelForm->SYMB_TYPE = "SBT1"; // ÀÏ¹Ý pSelForm->ShowModal(); if (!pSelForm->m_bSelected) { delete pSelForm; return false; } TVmsFormObject *pObj = m_pEdtDesigner->AddObject(odtBmp); if (!pObj) { delete pSelForm; return false; } String sPictId = pSelForm->EdPictId->Text; String sImagePath = pSelForm->EdImagePath->Text; String sPictNm = pSelForm->EdPictNm->Text; String sPictSize = pSelForm->EdPictSize->Text; int nPictW = pSelForm->EdPictW->Text.ToIntDef(10); int nPictH = pSelForm->EdPictH->Text.ToIntDef(10); String sPictExt = pSelForm->EdPictExt->Text; int nNewObjSeq = m_pEdtDesigner->GetNewObjectSeq(); EdObjSeq->Text = String(nNewObjSeq); pObj->ObjSeq = nNewObjSeq; pObj->ObjId = sPictId; pObj->ObjKind = FORM_OBJ_KIND_IMAGE; pObj->ObjType = pObj->ObjKind; pObj->ObjSize = sPictSize.ToIntDef(0); pObj->BkColorCode = m_pEdtDesigner->BkColorCode; pObj->Blink = false; pObj->Tag = "N"; pObj->Text = sPictNm; pObj->ImageId = sPictId; LoadingImage(pObj, sImagePath, nPictW, nPictH); pObj->SetPos(0, 0); if (pObj->Left < 0) pObj->Left = 0; if (pObj->Top < 0) pObj->Top = 0; pObj->Show(); AddObjectToList(pObj, true); delete pSelForm; FTrafBackSymb = true; return true; } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::AddCctvObj() { TVMSM570M *pSelForm = new TVMSM570M(this); pSelForm->ShowModal(); if (!pSelForm->m_bSelected) { delete pSelForm; return false; } String sFormObjId = pSelForm->EdFormObjId->Text; String sCctvName = pSelForm->EdCctvNm->Text; String sCctvId = pSelForm->EdCctvId->Text; TVmsFormObject *pObj = m_pEdtDesigner->AddObject(odtBmp); if (!pObj) { delete pSelForm; return false; } int nNewObjSeq = m_pEdtDesigner->GetNewObjectSeq(); EdObjSeq->Text = String(nNewObjSeq); pObj->ObjSeq = nNewObjSeq; pObj->ObjId = sFormObjId; pObj->ObjKind = FORM_OBJ_KIND_CCTV; pObj->ObjType = pObj->ObjKind; pObj->ObjSize = 0; pObj->BkColorCode = m_pEdtDesigner->BkColorCode; pObj->Blink = false; pObj->Tag = "N"; pObj->Text = sCctvName; pObj->ImageId = sCctvId; // FVmsTypeCd = pVmsSizeType->TypeCd; // FVmsWidth = pVmsSizeType->Width; // FVmsHeight = pVmsSizeType->Height; // FVmsCols = pVmsSizeType->Cols; // FVmsRows = pVmsSizeType->Rows; pObj->GetImage()->AutoSize = false; pObj->GetImage()->Stretch = false; pObj->GetImage()->Center = true; pObj->GetImage()->Width = FVmsWidth; pObj->GetImage()->Height = FVmsHeight; // pObj->SetBitmap(ImgStream->Picture->Bitmap); pObj->GetImage()->Picture->Bitmap->Assign(ImgStream->Picture->Bitmap); pObj->SetSize(FVmsWidth, FVmsHeight); pObj->SetPos(0, 0); if (pObj->Left < 0) pObj->Left = 0; if (pObj->Top < 0) pObj->Top = 0; pObj->Show(); AddObjectToList(pObj, true); delete pSelForm; return true; } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::AddMoviObj() { TVMSM580M *pSelForm = new TVMSM580M(this); pSelForm->ShowModal(); if (!pSelForm->m_bSelected) { delete pSelForm; return false; } TVmsFormObject *pObj = m_pEdtDesigner->AddObject(odtBmp); if (!pObj) { delete pSelForm; return false; } String sPictId = pSelForm->EdPictId->Text; String sImagePath = pSelForm->EdImagePath->Text; String sPictNm = pSelForm->EdPictNm->Text; String sPictSize = pSelForm->EdPictSize->Text; int nPictW = FVmsWidth; int nPictH = FVmsHeight; String sPictExt = pSelForm->EdPictExt->Text; int nNewObjSeq = m_pEdtDesigner->GetNewObjectSeq(); EdObjSeq->Text = String(nNewObjSeq); pObj->ObjSeq = nNewObjSeq; pObj->ObjId = sPictId; pObj->ObjKind = FORM_OBJ_KIND_MOVIE; pObj->ObjType = pObj->ObjKind; pObj->ObjSize = sPictSize.ToIntDef(0); pObj->BkColorCode = m_pEdtDesigner->BkColorCode; pObj->Blink = false; pObj->Tag = "N"; pObj->Text = sPictNm; pObj->ImageId = sPictId; pObj->GetImage()->AutoSize = false; pObj->GetImage()->Stretch = true; pObj->GetImage()->Width = nPictW; pObj->GetImage()->Height = nPictH; pObj->SetSize(nPictW, nPictH); LoadingImage(pObj, sImagePath, nPictW, nPictH); pObj->SetPos(0, 0); if (pObj->Left < 0) pObj->Left = 0; if (pObj->Top < 0) pObj->Top = 0; pObj->Show(); AddObjectToList(pObj, true); delete pSelForm; return true; } // --------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgFormMngr::AddTextObj(String ATxtItemId, String ADsplText) { TVmsFormObject *pObj = m_pEdtDesigner->AddObject(odtText); if (!pObj) return false; int nNewObjSeq = m_pEdtDesigner->GetNewObjectSeq(); EdObjSeq->Text = String(nNewObjSeq); pObj->ObjSeq = nNewObjSeq; pObj->ObjId = ""; pObj->ObjKind = FORM_OBJ_KIND_TEXT; pObj->ObjType = pObj->ObjKind; pObj->ObjSize = ADsplText.Length(); pObj->BkColorCode = m_pEdtDesigner->BkColorCode; pObj->Blink = false; pObj->Tag = "N"; pObj->EditMode = true; pObj->Text = ADsplText; pObj->ImageId = pObj->ObjId; pObj->RunText = pObj->Text; pObj->FillIn = ATxtItemId; int nTextAlign = 0; String sFontCode = APP_GetCode(CbFontName); String sFontName = APP_GetCodeName(CbFontName); pObj->FontName = sFontName; pObj->FontNameCode = sFontCode; pObj->FontColorCode = "02"; pObj->FontSize = 16; pObj->FontBold = true; pObj->TextAlign = nTextAlign; #if 0 if (ATxtItemId == DFLT_TEXT_TYPE) { EdDsplTxt->Properties->ReadOnly = true; } else { EdDsplTxt->Properties->ReadOnly = false; } #endif pObj->SetPos(0, 0); pObj->Show(); AddObjectToList(pObj, true); return true; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnAddTextClick(TObject *Sender) { AddTextObj(DFLT_TEXT_TYPE, "¹®ÀÚ¿­"); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbFillInClick(TObject *Sender) { int nItemIndex = CbFillIn->ItemIndex; if (nItemIndex == 0) return; TVmsTextItem *pObj = (TVmsTextItem*)CbFillIn->Properties->Items->Objects[CbFillIn->ItemIndex]; if (pObj != NULL) { AddTextObj(pObj->TXT_ITEM_ID, pObj->TXT_ITEM_FILLIN); } if (PnlEdtBack->Enabled) PnlEdtBack->SetFocus(); CbFillIn->ItemIndex = 0; } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ChangeFormObjectPanel(String AObjKind) { // H µµÇü °´Ã¼ // I ±×·¡ÇÈ °´Ã¼ // P ÅØ½ºÆ® °´Ã¼ if (AObjKind == FORM_OBJ_KIND_TEXT) { PnlObjSymb->Visible = false; PnlObjText->Visible = true; } else { PnlObjText->Visible = false; PnlObjSymb->Visible = true; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::CbObjKindPropertiesChange(TObject *Sender) { // °´Ã¼Á¾·ù°¡ º¯°æµÇ¾úÀ» °æ¿ì ó¸® String sObjKind = APP_GetCode(CbObjKind); ChangeFormObjectPanel(sObjKind); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnTestClick(TObject *Sender) { #if 0 if (FLastImageFileName != "") { Image1->Picture->LoadFromFile(FLastImageFileName); // Image1->Picture->LoadFromFile("C:\\Users\\OpenValue\\AppData\\Local\\Temp\\VMS-FORM\\SG-0000019.png"); if (Image1->Picture->Graphic->ClassName() == "TGIFImage") { ((TGIFImage*)Image1->Picture->Graphic)->Animate = true; Image1->Transparent = true; } else { Image1->Transparent = false; } } #endif } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::LoadingImage(TVmsFormObject *AFormObj, String AFileName, int AW, int AH) { FLastImageFileName = AFileName; try { TImage *symbImag = AFormObj->GetImage(); symbImag->Picture->LoadFromFile(AFileName); #if 0 symbImag->Width = AW; symbImag->Height = AH; if (symbImag->Picture->Bitmap != NULL) { symbImag->Picture->Bitmap->Width = AW; symbImag->Picture->Bitmap->Height = AH; } #endif if (symbImag->Picture->Graphic->ClassName() == "TGIFImage") { ((TGIFImage*)symbImag->Picture->Graphic)->Animate = true; symbImag->Transparent = true; } else { symbImag->Transparent = false; } symbImag->Refresh(); AFormObj->SetSize(AW, AH); } catch(Exception & e) { String errMsg = "À̹ÌÁö¸¦ Àоî¿À´Â Áß¿¡ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù.\r\n" + e.Message; Application->MessageBox(errMsg.c_str(), L"À̹ÌÁö ·Îµù ½ÇÆÐ", MB_OK | MB_ICONERROR | MB_APPLMODAL); } #ifdef IMAGE_RESIZE TNotifyEvent evtW = SeImgW->Properties->OnChange; TNotifyEvent evtH = SeImgH->Properties->OnChange; SeImgW->Properties->OnChange = NULL; SeImgH->Properties->OnChange = NULL; SeImgW->Value = AW; SeImgH->Value = AH; SeImgW->Properties->OnChange = evtW; SeImgH->Properties->OnChange = evtH; #endif } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ReFormKeyPress(TObject *Sender, wchar_t &Key) { if (Key == '[') { ReForm->SelAttributes->Style = ReForm->SelAttributes->Style << fsUnderline; } // else // if (Key == ' ') { // ReForm->SelAttributes->Style = TFontStyles() >> fsUnderline; // } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::ReFormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { // VK_RETURN if (Key == ']' || Key == 221) { ReForm->SelAttributes->Style = TFontStyles() >> fsUnderline; } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnTrafFillInClick(TObject *Sender) { // ¼ÒÅëÁ¤º¸ À̹ÌÁö Fill In ±¸°£ ¼³Á¤ TVMSM590M *pSelForm = new TVMSM590M(this); pSelForm->ShowModal(); delete pSelForm; if (FFormObjCellMap.Size() > 0) { BtnTrafFillIn->Font->Style = TFontStyles() << fsBold; } else { BtnTrafFillIn->Font->Style = TFontStyles(); } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::MnuFileImageClick(TObject *Sender) { String symbDefExt = "bmp"; // String symbFilter = "½É¹ú (*.gif;*.bmp)|*.gif;*.bmp"; String symbFilter = "½É¹ú (*.bmp)|*.bmp"; OpenBmp->DefaultExt = symbDefExt; OpenBmp->Filter = symbFilter; CURR_VMS_FORM_OBJ_ID = GetNewVmsFormPictObjId(); if (OpenBmp->InitialDir == "") { OpenBmp->InitialDir = g_sAppDir; } OpenBmp->Title = FTitle; OpenBmp->FileName = ""; if (!OpenBmp->Execute()) { } } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnFitSizeClick(TObject *Sender) { int nImgW = FVmsWidth; int nImgH = FVmsHeight; int nObjCnt = m_pEdtDesigner->GetObjectCount(); if (BtnFitSize->Tag == 0) { for (int ii = 0; ii < nObjCnt; ii++) { TVmsFormObject *pObj = m_pEdtDesigner->GetObject(ii); if (!pObj) continue; if (!pObj->Selected) continue; if (pObj->ObjKind != FORM_OBJ_KIND_TEXT) { if (pObj->ObjKind == FORM_OBJ_KIND_IMAGE) { pObj->GetImage()->AutoSize = false; pObj->GetImage()->Stretch = true; } pObj->GetImage()->Width = nImgW; pObj->GetImage()->Height = nImgH; pObj->SetSize(nImgW, nImgH); } } } else if (BtnFitSize->Tag == 1) { int nModlWdth = FVmsWidth / FVmsCols; int nModlCnt = 0; for (int ii = 0; ii < nObjCnt; ii++) { TVmsFormObject *pObj = m_pEdtDesigner->GetObject(ii); if (!pObj) continue; // if (!pObj->Selected) continue; if (pObj->ObjKind != FORM_OBJ_KIND_TEXT) { if (pObj->ObjKind == FORM_OBJ_KIND_IMAGE) { pObj->Top = 0; pObj->Left = nModlCnt * nModlWdth; nModlCnt++; } } } CxObjList->LayoutChanged(); } EdFocus->SetFocus(); } // --------------------------------------------------------------------------- void __fastcall TFrmVmsMsgFormMngr::BtnCopyAdd212Click(TObject *Sender) { m_pEdtDesigner->GetVmsFormImage(ImgForm); String imageFileName; String saveDirPath = TPath::GetTempPath() + "VMS\\"; ForceDirectories(saveDirPath.c_str()); imageFileName = saveDirPath + FVmsFormId + "_9.bmp"; ImgForm->Picture->SaveToFile(imageFileName); if (FVmsModlKind == "C0312_32" || FVmsModlKind == "F0312_32" || FVmsModlKind == "F0315_32") { TVMSM530M *pVmsCopyForm = new TVMSM530M(this); pVmsCopyForm->FImageFileName = imageFileName; pVmsCopyForm->FVmsFormId = FVmsFormId; pVmsCopyForm->FVmsFormType = FVmsFormType; pVmsCopyForm->FVmsModlKind = FVmsModlKind; pVmsCopyForm->FVmsFormNm = EdFormName->Text.Trim(); pVmsCopyForm->FDsplEff = APP_GetCode(CbFormDsplEff); pVmsCopyForm->FDsplHr = SeDsplHr->Value; pVmsCopyForm->ImgForm->Width = ImgForm->Width; pVmsCopyForm->ImgForm->Height = ImgForm->Height; pVmsCopyForm->ImgForm->Picture->Bitmap->Width = ImgForm->Width; pVmsCopyForm->ImgForm->Picture->Bitmap->Height = ImgForm->Height; pVmsCopyForm->ImgForm->Picture->Bitmap->Assign(ImgForm->Picture->Bitmap); pVmsCopyForm->ShowModal(); delete pVmsCopyForm; } else if (FVmsModlKind == "F1824_16" || FVmsModlKind == "F2026_16") { TVMSM540M *pVmsCopyForm = new TVMSM540M(this); pVmsCopyForm->FImageFileName = imageFileName; pVmsCopyForm->FVmsFormId = FVmsFormId; pVmsCopyForm->FVmsFormType = FVmsFormType; pVmsCopyForm->FVmsModlKind = FVmsModlKind; pVmsCopyForm->FVmsFormNm = EdFormName->Text.Trim(); pVmsCopyForm->FDsplEff = APP_GetCode(CbFormDsplEff); pVmsCopyForm->FDsplHr = SeDsplHr->Value; pVmsCopyForm->ImgForm->Width = ImgForm->Width; pVmsCopyForm->ImgForm->Height = ImgForm->Height; pVmsCopyForm->ImgForm->Picture->Bitmap->Width = ImgForm->Width; pVmsCopyForm->ImgForm->Picture->Bitmap->Height = ImgForm->Height; pVmsCopyForm->ImgForm->Picture->Bitmap->Assign(ImgForm->Picture->Bitmap); pVmsCopyForm->ShowModal(); delete pVmsCopyForm; } } // ---------------------------------------------------------------------------