//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "FrmInitializeF.h" #include "DMDbF.h" #pragma hdrstop #include "CDSMonitoringObjF.h" #include "FrmCrsCamViewerF.h" #include "FrmCameraFullScreenF.h" #include "FrmCameraScreenF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxEdit" #pragma link "cxGraphics" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxProgressBar" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinsCore" #pragma link "dxSkinsForm" #pragma link "cxLabel" #pragma link "cxDropDownEdit" #pragma link "cxMaskEdit" #pragma link "cxTextEdit" #pragma link "dxSkinMcSkin" #pragma link "FRAME_CameraF" #pragma resource "*.dfm" TFrmCrsCamViewer *FrmCrsCamViewer = NULL; //--------------------------------------------------------------------------- __fastcall TFrmCrsCamViewer::TFrmCrsCamViewer(TComponent* Owner) : TForm(Owner)//TdxCustomRibbonForm(Owner)//TForm(Owner) { //DoubleBuffered = true; if (g_AppCfg.sLang != "kr") { Caption = "Cross Camera Monitoring"; Font->Name = "Tahoma"; LblScreenList->AutoSize = false; LblScreenList->Style->Font->Name = "Tahoma"; LblScreenList->Caption = " Cross List: "; LblScreenList->AutoSize = true; CbScreenList->Style->Font->Name = "Tahoma"; } g_AppCfg.lMainWinHandle = (long)Handle; TmrChangeCross->Enabled = false; String sLang = g_AppCfg.sLang; ITSSkin_Initialize(Application, sLang.UpperCase()); ITSSkin_Load(this); ITSSkin_Caption(false); CMM_LoadForm(g_sFormsDir, this); if (WindowState == wsMinimized) { WindowState = wsMaximized; } if (WindowState == wsMaximized) { //Width = 1375; //Height = 851; WindowState = wsMaximized; } SetColorScheme(g_AppCfg.sSkinName); } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::FormCreate(TObject *Sender) { Application->ShowMainForm = false; try { Application->Icon->LoadFromResourceName(((unsigned int)HInstance), "MAINICON"); } catch(...) { ShowMessage("LoadFromResourceName failed"); } g_AppCfg.lMainWinHandle = (long)Handle; FrmCameraScreen = new TFrmCameraScreen(PnlBack); FrmCameraScreen->Parent = PnlBack; FrmCameraScreen->Show(); Application->ShowMainForm = true; } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::FormShow(TObject *Sender) { Application->ProcessMessages(); Refresh(); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::CommClose() { try { ITSSkin_Term(); CMM_SaveForm(g_sFormsDir, this); } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::SetColorScheme(String ASkinName) { dxSkinController1->SkinName = ASkinName; dxSkinController1->Refresh(); } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; FormInit(); } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::FormInit() { ObjScreenManager = new TMonitoringScreenManager(); ObjCtlrManager = new TMonitoringCtlrManager(enMonitoringCrsCamera); FrmInitialize = new TFrmInitialize(this); FrmInitialize->ShowModal(); FrmInitialize = NULL; CreateMonitoringScreen(); PnlBack->ParentColor = true; } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::ApplicationEvents1Minimize(TObject *Sender) { //¿µ»óÇ¥ÃâÀ» Á¤ÁöÇÑ´Ù. if (FrmCameraScreen) FrmCameraScreen->Stop(); } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::ApplicationEvents1Restore(TObject *Sender) { //¿µ»óÇ¥ÃâÀ» Àç»ó¿µÇÑ´Ù. if (FrmCameraScreen) FrmCameraScreen->Play(); } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::CreateMonitoringScreen() { Application->ProcessMessages(); CbScreenList->Properties->OnChange = NULL; try { LockWindowUpdate(Handle); CbScreenList->Properties->Items->Clear(); FOR_STL(TMonitoringScreen*, pObj, ObjScreenManager->FLists) { CbScreenList->Properties->Items->Add(" " + pObj->NAME + " "); } CbScreenList->ItemIndex = 0; } __finally { LockWindowUpdate(0); CbScreenList->Properties->OnChange = CbScreenListPropertiesChange; ResetScreenForm(); } //CbScreenList->Properties->DropDownListStyle = lsEditFixedList; //CbScreenList->Properties->ReadOnly = false; } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::ResetScreenForm() { if (FrmCameraScreen) { FrmCameraScreen->ResetScreenForm(CbScreenList->Text.Trim()); } } //--------------------------------------------------------------------------- #if 0 if (!DMDb->Connect()) { if (g_AppCfg.sLang != "kr") { Application->MessageBox(L"Database connection failed.\r\n\r\nPlease restart the program.", L"Database connection error !!!", MB_OK|MB_ICONERROR); } else { Application->MessageBox(L"µ¥ÀÌÅͺ£À̽º ¿¬°á¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.\r\n\r\nÇÁ·Î±×·¥À» ´Ù½Ã ½ÃÀÛÇϽʽÿä.", L"µ¥ÀÌÅͺ£À̽º ¿¬°á ¿À·ù!!!", MB_OK|MB_ICONERROR); } return; } DMDb->Close(); EdFocus->SetFocus(); #endif void __fastcall TFrmCrsCamViewer::TmrChangeCrossTimer(TObject *Sender) { TmrChangeCross->Enabled = false; ResetScreenForm(); } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::CbScreenListClick(TObject *Sender) { EdFocus->SetFocus(); ResetScreenForm(); } //--------------------------------------------------------------------------- void __fastcall TFrmCrsCamViewer::CbScreenListPropertiesChange(TObject *Sender) { #if 0 EdFocus->SetFocus(); TmrChangeCross->Enabled = false; TmrChangeCross->Enabled = true; ResetScreenForm(); #endif } //---------------------------------------------------------------------------