FRAME_VmsMsgListF.cpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "AppGlobalF.h"
  4. #include "ITSSkinF.h"
  5. #include "ITSUtilF.h"
  6. #include "ITSLangTransF.h"
  7. #pragma hdrstop
  8. #include "FRAME_VmsMsgListF.h"
  9. //---------------------------------------------------------------------------
  10. #pragma package(smart_init)
  11. #pragma link "cxButtons"
  12. #pragma link "cxCalc"
  13. #pragma link "cxCheckBox"
  14. #pragma link "cxClasses"
  15. #pragma link "cxContainer"
  16. #pragma link "cxControls"
  17. #pragma link "cxCustomData"
  18. #pragma link "cxData"
  19. #pragma link "cxDataStorage"
  20. #pragma link "cxEdit"
  21. #pragma link "cxFilter"
  22. #pragma link "cxGraphics"
  23. #pragma link "cxGrid"
  24. #pragma link "cxGridCustomTableView"
  25. #pragma link "cxGridCustomView"
  26. #pragma link "cxGridLevel"
  27. #pragma link "cxGridTableView"
  28. #pragma link "cxLookAndFeelPainters"
  29. #pragma link "cxLookAndFeels"
  30. #pragma link "cxStyles"
  31. #pragma link "cxTextEdit"
  32. #pragma link "dxSkinBlack"
  33. #pragma link "dxSkinBlue"
  34. #pragma link "dxSkinCaramel"
  35. #pragma link "dxSkinCoffee"
  36. #pragma link "dxSkinDarkRoom"
  37. #pragma link "dxSkinDarkSide"
  38. #pragma link "dxSkinFoggy"
  39. #pragma link "dxSkinGlassOceans"
  40. #pragma link "dxSkiniMaginary"
  41. #pragma link "dxSkinLilian"
  42. #pragma link "dxSkinLiquidSky"
  43. #pragma link "dxSkinLondonLiquidSky"
  44. #pragma link "dxSkinMcSkin"
  45. #pragma link "dxSkinMoneyTwins"
  46. #pragma link "dxSkinOffice2007Black"
  47. #pragma link "dxSkinOffice2007Blue"
  48. #pragma link "dxSkinOffice2007Green"
  49. #pragma link "dxSkinOffice2007Pink"
  50. #pragma link "dxSkinOffice2007Silver"
  51. #pragma link "dxSkinOffice2010Black"
  52. #pragma link "dxSkinOffice2010Blue"
  53. #pragma link "dxSkinOffice2010Silver"
  54. #pragma link "dxSkinsCore"
  55. #pragma link "dxSkinscxPCPainter"
  56. #pragma link "dxSkinSeven"
  57. #pragma link "dxSkinSharp"
  58. #pragma link "dxSkinSilver"
  59. #pragma link "dxSkinStardust"
  60. #pragma link "cxGridBandedTableView"
  61. #pragma link "cxGridCardView"
  62. #pragma link "cxGridCustomLayoutView"
  63. #pragma link "cxDropDownEdit"
  64. #pragma link "cxImage"
  65. #pragma link "cxLabel"
  66. #pragma resource "*.dfm"
  67. //TFRAMEVmsStateList *FRAMEVmsStateList;
  68. //---------------------------------------------------------------------------
  69. __fastcall TFRAMEVmsMsgList::TFRAMEVmsMsgList(TComponent* Owner)
  70. : TFrame(Owner)
  71. {
  72. LangTrans->Translate(this, ITSDb_GetConnection());
  73. FSelVmsObj = NULL;
  74. TvVmsMsg->OptionsView->DataRowHeight = 0;
  75. TvVmsMsg->OptionsView->CellAutoHeight = true;
  76. TvVmsMsg->OptionsView->Indicator = false;
  77. TvVmsMsg->OptionsCustomize->ColumnMoving = false;
  78. TvVmsMsg->OptionsCustomize->ColumnSorting = false;
  79. TvVmsMsg->Columns[0]->Width = 40;
  80. TvVmsMsg->Columns[0]->Options->HorzSizing = false;
  81. FTitle = lblTitle->Caption;
  82. }
  83. //---------------------------------------------------------------------------
  84. void __fastcall TFRAMEVmsMsgList::UpdateList()
  85. {
  86. }
  87. //---------------------------------------------------------------------------
  88. void __fastcall TFRAMEVmsMsgList::SetVmsObject(TVmsCtlr *ASelVmsObj)
  89. {
  90. FSelVmsObj = ASelVmsObj;
  91. }
  92. //---------------------------------------------------------------------------
  93. void __fastcall TFRAMEVmsMsgList::ClearVmsMsg()
  94. {
  95. CMM_ClearGridTableView(TvVmsMsg);
  96. }
  97. //---------------------------------------------------------------------------
  98. void __fastcall TFRAMEVmsMsgList::LoadVmsMsgScenario(String AVmsNmbr)
  99. {
  100. CMM_ClearGridTableView(TvVmsMsg);
  101. PnlSvcTime->Caption = lblText1->Caption + "-";//" Á¦°ø½Ã°¢: -";
  102. PnlSvcTime->Font->Color = clNavy;
  103. TVmsCtlr *pObj = VmsCtlrManager->FLists.Find(AVmsNmbr);
  104. if (!pObj) return;
  105. PnlSvcTime->Caption = lblText1->Caption + ITSUtil_FormatStr(pObj->VmsMsg->OFFER_DT, STR_DATETIME);
  106. try
  107. {
  108. int nRow;
  109. TcxDataController *pGDC = TvVmsMsg->DataController;
  110. TvVmsMsg->BeginUpdate();
  111. pObj->Lock();
  112. for(int ii = 0; ii < pObj->VmsMsg->Total && ii < INT_VMS_MAX_FORM; ii++)
  113. {
  114. Graphics::TBitmap *pBitmap = pObj->VmsMsg->PHASE[ii].pVmsBmp;
  115. TStream *pImgStream = new TMemoryStream();
  116. try
  117. {
  118. nRow = pGDC->AppendRecord();
  119. pGDC->Values[nRow][ColSch01->Index] = String(ii+1);
  120. pBitmap->SaveToStream(pImgStream);
  121. void *p;
  122. Variant v;
  123. int aBound[]={0, pImgStream->Size - 1};
  124. v = VarArrayCreate(aBound, 1, varByte);
  125. p = VarArrayLock(v);
  126. pImgStream->Position = 0;
  127. pImgStream->Read(p, pImgStream->Size);
  128. VarArrayUnlock(v);
  129. //pGDC->Values[nRow][ColSch02->Index] = pBitmap;
  130. pGDC->Values[nRow][ColSch02->Index] = v;
  131. } catch(Exception &e) {}
  132. SAFE_DELETE(pImgStream);
  133. }
  134. }
  135. __finally
  136. {
  137. pObj->UnLock();
  138. TvVmsMsg->EndUpdate();
  139. PnlSvcTime->Font->Color = pObj->VmsMsg->OFFER_YN ? clNavy : clRed;
  140. }
  141. }
  142. //---------------------------------------------------------------------------
  143. void __fastcall TFRAMEVmsMsgList::OnCloseQuery(bool &CanClose)
  144. {
  145. }
  146. //---------------------------------------------------------------------------