//---------------------------------------------------------------------------

#ifndef VDSM300MFH
#define VDSM300MFH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DB.hpp>
#include <DBClient.hpp>
#include <FMTBcd.hpp>
#include <Provider.hpp>
#include <SqlExpr.hpp>
#include <Menus.hpp>
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
#include <ComCtrls.hpp>
#include <ADODB.hpp>
#include <Dialogs.hpp>
#include <ExtDlgs.hpp>
//---------------------------------------------------------------------------
#include "WindowMsgF.h"
#include "CenterCommF.h"
//---------------------------------------------------------------------------
#include "cxButtons.hpp"
#include "cxClasses.hpp"
#include "cxContainer.hpp"
#include "cxControls.hpp"
#include "cxCustomData.hpp"
#include "cxData.hpp"
#include "cxDataStorage.hpp"
#include "cxEdit.hpp"
#include "cxFilter.hpp"
#include "cxGraphics.hpp"
#include "cxGrid.hpp"
#include "cxGridCustomTableView.hpp"
#include "cxGridCustomView.hpp"
#include "cxGridLevel.hpp"
#include "cxGridTableView.hpp"
#include "cxGroupBox.hpp"
#include "cxLabel.hpp"
#include "cxLookAndFeelPainters.hpp"
#include "cxLookAndFeels.hpp"
#include "cxRadioGroup.hpp"
#include "cxSplitter.hpp"
#include "cxStyles.hpp"
#include "dxSkinBlack.hpp"
#include "dxSkinBlue.hpp"
#include "dxSkinsCore.hpp"
#include "dxSkinscxPCPainter.hpp"
#include "FRAME_VdsStateListF.h"
#include "cxTextEdit.hpp"
#include "cxDropDownEdit.hpp"
#include "cxMaskEdit.hpp"

class TVdsStopImage
{
public:
    TVdsStopImage()  {
        Size = 0;
        memset(Data, 0x00, sizeof(Data));
    };
    ~TVdsStopImage() {};
public:
    int  Size;
    char Data[INT_VDS_MAX_STOP_IMAGE];
};
//---------------------------------------------------------------------------

class TVDSM300M : public TForm
{
__published:	// IDE-managed Components
    TTimer *TmrShow;
    TShape *ShpTitle;
    TcxButton *BtnClose;
    TLabel *LblCaption;
    TShape *ShpList;
    TEdit *EdFocus;
    TPanel *PnlBack;
    TPanel *PnlLeft;
    TcxGroupBox *cxGroupBox3;
    TcxGroupBox *cxGroupBox1;
    TcxGroupBox *cxGroupBox5;
    TTimer *TmrControlTimeout;
    TFRAMEVdsStateList *FRAMEVdsStateList1;
    TPanel *Panel1;
    TcxButton *BtnReset;
    TPanel *PnlCtlr;
    TcxLabel *cxLabel18;
    TImage *ImgDesc11;
    TcxTextEdit *EdNmbr;
    TcxLabel *cxLabel2;
    TcxTextEdit *EdVdsNm;
    TImage *ImgDesc02;
    TcxTextEdit *EdVdsId;
    TcxLabel *cxLabel1;
    TImage *ImgDesc01;
    TPanel *PnlImage;
    TImage *Image1;
    TcxButton *BtnStopImage;
    TMemo *reMsg;
    TcxLabel *lblText3;
    TcxLabel *lblText7;
    TcxLabel *lblText6;
    TcxLabel *cxLabel9;
    TPanel *Panel2;
    TcxComboBox *CbVDS_CMRA_NO;
    TcxLabel *cxLabel3;
    TcxLabel *cxLabel4;
    TcxLabel *cxLabel5;
    TcxLabel *cxLabel6;
    void __fastcall FormShow(TObject *Sender);
    void __fastcall TmrShowTimer(TObject *Sender);
    void __fastcall BtnCloseClick(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
    void __fastcall BtnStopImageClick(TObject *Sender);
    void __fastcall BtnResetClick(TObject *Sender);
    void __fastcall FRAMEVdsStateList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
          TMouseButton AButton, TShiftState AShift, bool &AHandled);
    void __fastcall TmrControlTimeoutTimer(TObject *Sender);
private:	// User declarations
    void __fastcall CommClose();
    String          FTitle;

public:
	DWORD           FReqSeq;                              /* Packet Number */
    TItsMap<int, TVdsStopImage*> FStopImages;

public:		// User declarations
    __fastcall TVDSM300M(TComponent* Owner);

    void __fastcall FormInit();

    void __fastcall OnMainFormMessage(TMessage &Msg);
	BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(WM_MAINFORM, TMessage, OnMainFormMessage)
    END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TVDSM300M *VDSM300M;
//---------------------------------------------------------------------------

#endif

