//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #include "CDSVmsIfscF.h" #include "CDSFontF.h" #include "CDSVmsIfscF.h" #include "CDSVmsDsplCndtF.h" #pragma hdrstop #include "VMSM610MF.h" #include "FrmVmsMsgScheMngrF.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 resource "*.dfm" TVMSM610M *VMSM610M = NULL; //--------------------------------------------------------------------------- __fastcall TVMSM610M::TVMSM610M(TComponent* Owner) : TForm(Owner) { ITSSkin_Load(this); ////CMM_LoadForm(g_sFormsDir, this); FSelected = false; FUpdate= false; FIsExistFigure = false; FTitle = Caption; } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::CommClose() { try { if (m_pEdtDesigner) { delete m_pEdtDesigner; m_pEdtDesigner = NULL; } ////CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::FormCreate(TObject *Sender) { 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 TVMSM610M::FormShow(TObject *Sender) { Refresh(); BtnSave->Enabled = FEditMode; PnlJob->Enabled = FEditMode; PnlTitle->Enabled = FEditMode; LoadVmsDsplCndtInfo(); LoadVmsIfsc(FVmsCtlrId); FormInit(); PnlEdtBack->ParentColor = false; PnlEdtBack->Color = clBlack; PnlEditForm->ParentColor = false; PnlEditForm->Color = clBlack; PnlEdtBack->Width = FVmsWidth+4; PnlEdtBack->Height= FVmsHeight+4; TmrShow->Enabled = true; } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::FormInit() { TvObjList->OptionsView->NoDataToDisplayInfoText = "<¼³Á¤ °¡´ÉÇÑ °´Ã¼ Á¤º¸°¡ ¾ø½À´Ï´Ù>"; EdCtlrId->Text = FVmsCtlrId; EdScnrId->Text = FScnrId; EdFormId->Text = FFormId; SeFormSn->Value = FFormSn; SeDsplHh->Value = FDsplHh; APP_SetCode(CbVmsDsplCndt, FDsplCndtId); m_pEdtDesigner->ApplicationHandle = (long)Handle; ImgTemp->Width = FVmsWidth; ImgTemp->Height= FVmsHeight; ImgForm->Width = FVmsWidth; ImgForm->Height= FVmsHeight; m_pEdtDesigner->Clear(); m_pEdtDesigner->SizeType = FVmsTypeCd; m_pEdtDesigner->SetSize(FVmsWidth, FVmsHeight); m_pEdtDesigner->SetPos(0, 0); m_pEdtDesigner->BkColorCode = "00"; m_pEdtDesigner->EditMode = true; m_pEdtDesigner->Show(); TFormImage *pBackImage = FrmVmsMsgScheMngr->FFormBackLists.Find(FFormId); if (pBackImage != NULL) { ImgTemp->Picture->Bitmap->Assign(pBackImage->bitmap); } FFormScnr = FrmVmsMsgScheMngr->FVmsScnrLists.Find(FFormSn); FVmsForm = FrmVmsMsgScheMngr->FVmsFormLists.Find(FFormId); DrawObjects(); FNewDb = false; } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::DrawObjects() { String sVmsFormId = FFormId; int nFormSn = FFormSn; if (FVmsForm == NULL) { return; } m_pEdtDesigner->Clear(); m_pEdtDesigner->BkColorCode = FVmsForm->BACK_CLR; TFormImage *pBackImage = FrmVmsMsgScheMngr->FFormBackLists.Find(sVmsFormId); if (pBackImage == NULL) { return; } TVmsFormObject *pObj = m_pEdtDesigner->AddObject((VmsObjectDrawType)1); if (!pObj) { return; } pObj->ObjId = "BASE"; pObj->ObjSeq = 0; pObj->SetBitmap(pBackImage->bitmap); pObj->SetPos(0, 0); pObj->Show(); pObj->BringToFront(); int nObjSeq = 1; FOR_STL(TFormObj*, pFormObj, FVmsForm->FLists) { if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_FIGURE) { FIsExistFigure = true; continue; } FrmVmsMsgScheMngr->DrawFormObject(m_pEdtDesigner, pFormObj, FFormScnr, nObjSeq++); #if 0 bool isDisplay = false; if (pFormObj->VMS_TXT_ITEM_ID == "C1001" || // µµ·Î¸í pFormObj->VMS_TXT_ITEM_ID == "C1002" || // ½ÃÁ¡¸í pFormObj->VMS_TXT_ITEM_ID == "C1003" || // Á¾Á¡¸í pFormObj->VMS_TXT_ITEM_ID == "C2001" || // ¼ÒÅë»óȲ pFormObj->VMS_TXT_ITEM_ID == "C2002" || // ½Ã°£ pFormObj->VMS_TXT_ITEM_ID == "C2003" || // ¼Óµµ pFormObj->VMS_TXT_ITEM_ID == "C3001" || // ¿ìȸ-µµ·Î¸í pFormObj->VMS_TXT_ITEM_ID == "C3002" || // ¿ìȸ-½ÃÁ¡¸í pFormObj->VMS_TXT_ITEM_ID == "C3003" || // ¿ìȸ-Á¾Á¡¸í pFormObj->VMS_TXT_ITEM_ID == "C4001" || // ¿ìȸ-¼ÒÅë»óȲ pFormObj->VMS_TXT_ITEM_ID == "C4002" || // ¿ìȸ-½Ã°£ pFormObj->VMS_TXT_ITEM_ID == "C4003" ) // ¿ìȸ-¼Óµµ { isDisplay = true; } else if (pFormObj->VMS_TXT_ITEM_ID == "C0001" && // ´Ü¼ø¹®ÀÚ¿­ pFormObj->FONT_CLR == "99" ) // ÀÚµ¿»ö»ó { isDisplay = true; } if (!isDisplay) { continue; } String sDsplText = pFormObj->DSPL_TXT; if (pFormObj->VMS_TXT_ITEM_ID == "C1001" || // µµ·Î¸í pFormObj->VMS_TXT_ITEM_ID == "C1002" || // ½ÃÁ¡¸í pFormObj->VMS_TXT_ITEM_ID == "C1003" ) // Á¾Á¡¸í { if (FFormScnr != NULL) { TVmsFormScnrObj *pScnrObj = FFormScnr->FLists.Find(pFormObj->VMS_FORM_OBJ_ID); if (pScnrObj != NULL) { TVmsIfsc *pIfsc = VmsIfscManager->FLists.Find(pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID); if (pIfsc != NULL) { if (pFormObj->VMS_TXT_ITEM_ID == "C1001") sDsplText = pIfsc->VMS_DSPL_SECT_NM; else if (pFormObj->VMS_TXT_ITEM_ID == "C1002") sDsplText = pIfsc->VMS_DSPL_STRT_NM; else if (pFormObj->VMS_TXT_ITEM_ID == "C1003") sDsplText = pIfsc->VMS_DSPL_END_NM; } } } } else if (pFormObj->VMS_TXT_ITEM_ID == "C3001" || // ¿ìȸ-µµ·Î¸í pFormObj->VMS_TXT_ITEM_ID == "C3002" || // ¿ìȸ-½ÃÁ¡¸í pFormObj->VMS_TXT_ITEM_ID == "C3003" ) // ¿ìȸ-Á¾Á¡¸í { } TVmsFormObject *pObj = m_pEdtDesigner->AddObject((VmsObjectDrawType)0); if (!pObj) { continue; } pObj->ObjId = pFormObj->VMS_FORM_OBJ_ID; pObj->Text = sDsplText; pObj->RunText = pObj->Text; int nPosX = pFormObj->FORM_OBJ_PSTN_X; int nPosY = pFormObj->FORM_OBJ_PSTN_Y; int nDsplWdth = pFormObj->FORM_OBJ_DSPL_WDTH; int nTextAlign = 0; if (pFormObj->TXT_ALGN_MTHD == "R") nTextAlign = 1; if (pFormObj->TXT_ALGN_MTHD == "C") nTextAlign = 2; pObj->FillIn = pFormObj->VMS_TXT_ITEM_ID; pObj->FontNameCode = pFormObj->FONT_TYPE; TCDSFontName *pFontName = CDSFontManager->FFontNames.Find(pObj->FontNameCode); if (pFontName != NULL) { pObj->FontName = pFontName->VMS_FONT_NAME_NM; } else { pObj->FontName = "¸íÁ¶Ã¼"; pObj->FontNameCode = "00"; } pObj->FontColorCode = pFormObj->FONT_CLR; pObj->FontSize = pFormObj->FONT_SZ; pObj->FontBold = pFormObj->FONT_THCK; pObj->TextAlign = nTextAlign; LblTemp->AutoSize = false; LblTemp->Font->Name = pObj->FontName; LblTemp->Font->Size = pObj->FontSize; if (pObj->FontBold) LblTemp->Font->Style = TFontStyles() << fsBold; else LblTemp->Font->Style = TFontStyles(); LblTemp->Caption = sDsplText; LblTemp->AutoSize = true; if (pObj->TextAlign == 1) { // ¿ìÃøÁ¤·Ä: ÁÂÃø¿¡¼­ ±ÛÀÚ±æÀ̸¦ »«´ÙÀ½ ¸¸¾à À½¼öÀ̸é 0À¸·Î ¼³Á¤ nPosX = (nPosX+pFormObj->FORM_OBJ_DSPL_WDTH) - LblTemp->Width; } else if (pObj->TextAlign == 2) { // °¡¿îµ¥Á¤·Ä: ¿ø·¡ ±ÛÀÚÀÇ Áß¾Ó°ªÀ» ¾òÀº ´ÙÀ½¿¡ Á¶Á¤µÈ ±ÛÀÚÀÇ 1/2 Å©±â¸¦ »«´ÙÀ½ À½¼öÀ̸é 0À¸·Î ¼³Á¤ nPosX = (nPosX+(pFormObj->FORM_OBJ_DSPL_WDTH/2)) - (LblTemp->Width/2); } pObj->SetPos(nPosX, nPosY); pObj->Show(); pObj->BringToFront(); #endif } } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::LoadVmsDsplCndtInfo() { CbVmsDsplCndt->Properties->Items->Clear(); FOR_STL(TVmsDsplCndt*, pCndt, VmsDsplCndtManager->FLists) { CbVmsDsplCndt->Properties->Items->Add(" [" + pCndt->VMS_FORM_DSPL_CNDT_ID + "] " + pCndt->VMS_FORM_DSPL_CNDT_NM); } CbVmsDsplCndt->ItemIndex = -1; } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::LoadVmsIfsc(String AVmsCtlrId) { CMM_ClearGridTableView(TvAxis); try { int nRow; TcxDataController *pGDC = TvAxis->DataController; TvAxis->BeginUpdate(); TVmsRltnSect *pRltnSect = VmsIfscManager->FRltnLists.Find(AVmsCtlrId); if (pRltnSect != NULL) { FOR_STL(TVmsSect*, pSect, pRltnSect->FLists) { TVmsIfsc *pIfsc = VmsIfscManager->FLists.Find(pSect->VMS_SECT_ID); if (pIfsc == NULL) continue; nRow = pGDC->AppendRecord(); pGDC->Values[nRow][Col00->Index] = pSect->VMS_CTLR_ID; pGDC->Values[nRow][Col01->Index] = pIfsc->VMS_SECT_ID; pGDC->Values[nRow][Col02->Index] = pIfsc->VMS_DSPL_SECT_NM; pGDC->Values[nRow][Col03->Index] = pIfsc->VMS_DSPL_STRT_NM; pGDC->Values[nRow][Col04->Index] = pIfsc->VMS_DSPL_END_NM; pGDC->Values[nRow][Col05->Index] = pSect->VMS_DTUR_SECT_ID; } } } __finally { TvAxis->EndUpdate(); CMM_ExpandCollapseChk(TvAxis, true); } #if 0 String sQry; TADOQuery *pADO = NULL; sQry = "SELECT A.VMS_CTLR_ID, A.SN, A.VMS_SECT_ID, A.VMS_DTUR_SECT_ID, \r\n" " B.VMS_SECT_NM, B.VMS_DSPL_STRT_NM, B.VMS_DSPL_END_NM, \r\n" " B.VMS_DSPL_SECT_NM \r\n" " FROM TB_VMS_VMS_SECT A, \r\n" " TB_VMS_SECT B \r\n" " WHERE 1=1 \r\n" " AND A.VMS_CTLR_ID = :p01 \r\n" " AND A.VMS_SECT_ID = B.VMS_SECT_ID \r\n" " ORDER BY A.VMS_CTLR_ID, A.SN \r\n"; try { int nRow; TcxDataController *pGDC = TvAxis->DataController; TvAxis->BeginUpdate(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AVmsCtlrId); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { nRow = pGDC->AppendRecord(); pGDC->Values[nRow][Col00->Index] = pADO->FieldByName("VMS_CTLR_ID")->AsString; pGDC->Values[nRow][Col01->Index] = pADO->FieldByName("VMS_SECT_ID")->AsString; pGDC->Values[nRow][Col02->Index] = pADO->FieldByName("VMS_SECT_NM")->AsString; pGDC->Values[nRow][Col03->Index] = pADO->FieldByName("VMS_DSPL_STRT_NM")->AsString; pGDC->Values[nRow][Col04->Index] = pADO->FieldByName("VMS_DSPL_END_NM")->AsString; pGDC->Values[nRow][Col05->Index] = pADO->FieldByName("VMS_DTUR_SECT_ID")->AsString; } } catch(EDatabaseError &E) { DBERRORMSG("TVMSM610M::LoadVmsIfsc", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSM610M::LoadVmsIfsc", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvAxis->EndUpdate(); CMM_ExpandCollapseChk(TvAxis, true); } #endif } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; BtnSearchClick(NULL); } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::BtnSearchClick(TObject *Sender) { RefreshData(); EdFocus->SetFocus(); } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::RefreshData() { // °Ë»öÁ¶°Ç¿¡ ÀÇÇÑ ¸µÅ© µ¥ÀÌÅÍ Á¶È¸ FormClear(); InitObjectList(); } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::InitObjectList() { CMM_ClearGridTableView(TvObjList); if (FFormScnr == NULL) { return; } TcxGridDataController *pGDC = TvObjList->DataController; try { TvObjList->BeginUpdate(); pGDC->BeginUpdate(); int nRow; FOR_STL(TVmsFormScnrObj*, pScnrObj, FFormScnr->FLists) { nRow = pGDC->AppendRecord(); pGDC->Values[nRow][ColObj01->Index] = pScnrObj->VMS_FORM_OBJ_ID; pGDC->Values[nRow][ColObjKind->Index] = pScnrObj->VMS_FORM_OBJ_KIND; pGDC->Values[nRow][ColObjX->Index] = pScnrObj->FORM_OBJ_PSTN_X; pGDC->Values[nRow][ColObjY->Index] = pScnrObj->FORM_OBJ_PSTN_Y; pGDC->Values[nRow][ColObjFillIn->Index] = pScnrObj->VMS_TXT_ITEM_ID; String objKindNm = "-"; if (pScnrObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_FIGURE) { objKindNm = "¹è°æ¼¿"; } else if (pScnrObj->VMS_TXT_ITEM_ID == "C0001") // ´Ü¼ø¹®ÀÚ¿­ ÀÚµ¿»ö»ó { objKindNm = "ÀÚµ¿»ö»ó"; } else { TVmsTextItem *pItemObj = VmsTextItemManager->FLists.Find(pScnrObj->VMS_TXT_ITEM_ID); if (pItemObj != NULL) { objKindNm = pItemObj->TXT_ITEM_FILLIN; } } pGDC->Values[nRow][ColObj02->Index] = objKindNm; pGDC->Values[nRow][ColIfscId->Index] = pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID; String sSectNm = ""; String sStrNm = ""; String sEndNm = ""; TVmsIfsc *pIfsc = VmsIfscManager->FLists.Find(pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID); if (pIfsc != NULL) { sSectNm = pIfsc->VMS_DSPL_SECT_NM; sStrNm = pIfsc->VMS_DSPL_STRT_NM; sEndNm = pIfsc->VMS_DSPL_END_NM; } pGDC->Values[nRow][ColIfscNm->Index] = sSectNm; pGDC->Values[nRow][ColIfscStr->Index] = sStrNm; pGDC->Values[nRow][ColIfscEnd->Index] = sEndNm; } } __finally { pGDC->EndUpdate(); TvObjList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::BtnCloseClick(TObject *Sender) { FSelected = false; Close(); } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); VMSM610M = NULL; //Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::FormClear() { FSelIdx = -1; FNewDb = false; } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::BtnListAddClick(TObject *Sender) { int nIfscIdx = CMM_GetRecordIndex(TvAxis); if (nIfscIdx < 0) return; int nSelRows = TvObjList->Controller->SelectedRowCount; if (nSelRows <= 0) { return; } TcxGridDataController *pDcCell = TvObjList->DataController; TcxGridDataController *pDcIfsc = TvAxis->DataController; try { String sIfscId = VarToStr(pDcIfsc->Values[nIfscIdx][Col01->Index]); String sIfscNm = VarToStr(pDcIfsc->Values[nIfscIdx][Col02->Index]); String sStrNm = VarToStr(pDcIfsc->Values[nIfscIdx][Col03->Index]); String sEndNm = VarToStr(pDcIfsc->Values[nIfscIdx][Col04->Index]); for (int ii = 0; ii < nSelRows; ii++) { int nCellIdx = TvObjList->Controller->SelectedRows[ii]->RecordIndex; pDcCell->Values[nCellIdx][ColIfscId->Index] = sIfscId; pDcCell->Values[nCellIdx][ColIfscNm->Index] = sIfscNm; pDcCell->Values[nCellIdx][ColIfscStr->Index] = sStrNm; pDcCell->Values[nCellIdx][ColIfscEnd->Index] = sEndNm; String VMS_FORM_OBJ_ID = VarToStr(pDcCell->Values[nCellIdx][ColObj01->Index]); TVmsFormScnrObj *pScnrObj = FFormScnr->FLists.Find(VMS_FORM_OBJ_ID); if (pScnrObj != NULL) { pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID = sIfscId; } #if 0 String VMS_FORM_OBJ_KIND = VarToStr(pDcCell->Values[nCellIdx][ColObjKind->Index]); if (VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_FIGURE) { continue; } String VMS_FORM_OBJ_ID = VarToStr(pDcCell->Values[nCellIdx][ColObj01->Index]); TVmsFormObject *pObj; int nObjCnt = m_pEdtDesigner->GetObjectCount(); for(int ii = 0; ii < nObjCnt; ii++){ } #endif } } catch(...) { } DrawObjects(); } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::BtnListDeleteClick(TObject *Sender) { int nSelRows = TvObjList->Controller->SelectedRowCount; if (nSelRows <= 0) { return; } TcxGridDataController *pDcCell = TvObjList->DataController; try { for (int ii = 0; ii < nSelRows; ii++) { int nCellIdx = TvObjList->Controller->SelectedRows[ii]->RecordIndex; pDcCell->Values[nCellIdx][ColIfscId->Index] = ""; pDcCell->Values[nCellIdx][ColIfscNm->Index] = ""; pDcCell->Values[nCellIdx][ColIfscStr->Index] = ""; pDcCell->Values[nCellIdx][ColIfscEnd->Index] = ""; String VMS_FORM_OBJ_ID = VarToStr(pDcCell->Values[nCellIdx][ColObj01->Index]); TVmsFormScnrObj *pScnrObj = FFormScnr->FLists.Find(VMS_FORM_OBJ_ID); if (pScnrObj != NULL) { pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID = ""; } } } catch(...) { } DrawObjects(); } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::BtnSaveClick(TObject *Sender) { if (CbVmsDsplCndt->ItemIndex < 0) { Application->MessageBox(L"VMS ¸Þ½ÃÁö Æû ±¸°£ ¼³Á¤\r\n¸Þ½ÃÁö Ç¥Ãâ Á¶°ÇÀº Çʼö ÀÔ·Â »çÇ×ÀÔ´Ï´Ù.\r\n¸Þ½ÃÁö Ç¥ÃâÁ¶°ÇÀ» ÀÔ·ÂÇϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); ActiveControl = CbVmsDsplCndt; return; } if (FFormScnr != NULL) { TcxDataController *pGDC = TvObjList->DataController; try { TvObjList->BeginUpdate(); pGDC->BeginUpdate(); int nRows = pGDC->RecordCount; try { for (int ii = 0; ii < nRows; ii++) { String formObjId = VarToStr(pGDC->Values[ii][ColObj01->Index]); String vmsSectId = VarToStr(pGDC->Values[ii][ColIfscId->Index]); TVmsFormScnrObj *pScnrObj = FFormScnr->FLists.Find(formObjId); if (pScnrObj != NULL) { pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID = vmsSectId; } } } catch(Exception &e) { } } __finally { pGDC->EndUpdate(); TvObjList->EndUpdate(); } } m_pEdtDesigner->GetVmsFormImage(ImgForm); FDsplHh = SeDsplHh->Value; FDsplCndtId = APP_GetCode(CbVmsDsplCndt); TVmsDsplCndt *pCndt = VmsDsplCndtManager->FLists.Find(FDsplCndtId); if (pCndt != NULL) { FDsplCndtNm = pCndt->VMS_FORM_DSPL_CNDT_NM; } FSelected = true; Close(); } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::Col05CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { int nRecordIdx = AViewInfo->GridRecord->RecordIndex; if (nRecordIdx < 0) { return; } try { int nItemIdx = AViewInfo->Item->Index; if (VarIsNull(AViewInfo->GridRecord->DisplayTexts[nItemIdx])) return; String sData = AViewInfo->GridRecord->DisplayTexts[nItemIdx]; if (sData == "Y") { ACanvas->Canvas->Brush->Color = clLime; } } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TVMSM610M::SeDsplHrPropertiesEditValueChanged(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 TVMSM610M::TvObjListCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { if (TvObjList->ViewData->RecordCount <= 0) return; if (TvObjList->DataController->FocusedRowIndex < 0) return; int nSelRows = TvObjList->Controller->SelectedRowCount; if (nSelRows <= 0) { return; } TImage *pBaseImage = NULL; TVmsFormObject *pObj = m_pEdtDesigner->GetObject(0); if (pObj) { pBaseImage = pObj->GetImage(); } if (FIsExistFigure) { if (pBaseImage) { pBaseImage->Picture->Bitmap->FreeImage(); pBaseImage->Picture->Bitmap = NULL; pBaseImage->Picture->Bitmap->Assign(ImgTemp->Picture->Bitmap); //pBaseImage->Width = pBaseImage->Picture->Bitmap->Width; //pBaseImage->Height = pBaseImage->Picture->Bitmap->Height; } } TcxGridDataController *pDcCell = TvObjList->DataController; m_pEdtDesigner->SelectedObjectAll(false); try { for (int ii = 0; ii < nSelRows; ii++) { int nCellIdx = TvObjList->Controller->SelectedRows[ii]->RecordIndex; String VMS_FORM_OBJ_ID = VarToStr(pDcCell->Values[nCellIdx][ColObj01->Index]); String VMS_FORM_OBJ_KIND = VarToStr(pDcCell->Values[nCellIdx][ColObjKind->Index]); if (VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_FIGURE) { if (pBaseImage) { int X = pDcCell->Values[nCellIdx][ColObjX->Index]; int Y = pDcCell->Values[nCellIdx][ColObjY->Index]; TColor FOldColor = pBaseImage->Picture->Bitmap->Canvas->Pixels[X][Y]; pBaseImage->Picture->Bitmap->Canvas->Brush->Style = bsSolid; pBaseImage->Picture->Bitmap->Canvas->Brush->Color = APP_GetDisplayColor(ii); pBaseImage->Picture->Bitmap->Canvas->FloodFill(X, Y, FOldColor, fsSurface); } } else { int nObjCnt = m_pEdtDesigner->GetObjectCount(); for(int jj = 0; jj < nObjCnt; jj++) { TVmsFormObject *pObj = m_pEdtDesigner->GetObject(jj); if (!pObj) continue; if (pObj->ObjId == VMS_FORM_OBJ_ID) { m_pEdtDesigner->SelectObject(pObj->ObjSeq, true); } } } } } catch(...) { } } //---------------------------------------------------------------------------