From bcdfe569b7581938e0d42160defd76d5efcbdb96 Mon Sep 17 00:00:00 2001
From: doom4ster <doom4ster@gmail.com>
Date: 星期五, 30 六月 2017 22:59:56 +0800
Subject: [PATCH] CB_IMGPSScan.cab ver2.0.1.18  修正 檢核失敗 時顯示的必填欄位的提示色塊消失的問題

---
 ErrList.pas |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 100 insertions(+), 8 deletions(-)

diff --git a/ErrList.pas b/ErrList.pas
index 1c6a7e6..0947599 100644
--- a/ErrList.pas
+++ b/ErrList.pas
@@ -5,7 +5,7 @@
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, OleCtrls, Menus, StdCtrls, Buttons, ComCtrls, ExtCtrls,inifiles,
-  iisUnit,iis_ImageProcess, EnImgScr,mpsBarco,BarcodesFinder;
+  iisUnit,iis_ImageProcess, EnImgScr,mpsBarco,BarcodesFinder, EnMisc, EnDiGrph;
 
 type
   TErrlistForm = class(TForm)
@@ -38,6 +38,7 @@
     ImageScrollBox1: TImageScrollBox;
     ImageScrollBox2: TImageScrollBox;
     ImageScrollBox3: TImageScrollBox;
+    Button1: TButton;
     procedure ExitBtClick(Sender: TObject);
     procedure ImmediateBtClick(Sender: TObject);
     procedure FormCreate(Sender: TObject);
@@ -60,6 +61,7 @@
     procedure Timer1Timer(Sender: TObject);
     procedure RejectBtClick(Sender: TObject);
     procedure EnforceBtClick(Sender: TObject);
+    procedure Button1Click(Sender: TObject);
   private
     { Private declarations }
     Siteidx : Integer;
@@ -86,11 +88,22 @@
     DownRPoint_Rela : Tpoint;  //�k�U�誺�Q�r�I
     //********�Q�r�w���I��T********
 
+    ISB_BW: TImageScrollBox;
+    SP1:TShape;//20170630 �s�[
+    SP2:TShape;//20170630 �s�[
+    SP3:TShape;//20170630 �s�[
+    SP4:TShape;//20170630 �s�[
+    SP5:TShape;//20170630 �s�[
+    SP6:TShape;//20170630 �s�[
+    SP7:TShape;//20170630 �s�[
+    SP8:TShape;//20170630 �s�[
+
     procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
     Procedure ShowOMRErr(Idx:Integer); //�e���W�q�XOMR�ˮ֥���
     Procedure ShowRelaOMRErr(Relaidx:Integer); //�e���W�q�X���YOMR�ˮ֥���
     Procedure GetOMRErrini(Index:String); //���ˮ֥���ini
-    Procedure InitialData;  //��_����������A
+    Procedure InitialData;
+    procedure ImageScrollBox1NewGraphic(const Graphic: TDibGraphic);  //��_����������A
   public
     { Public declarations }
     iniPath : String;
@@ -147,6 +160,14 @@
   end;
   RejectCase := True;
   ModalResult := mrOK;
+end;
+
+procedure TErrlistForm.Button1Click(Sender: TObject);
+begin
+ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+
+'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+
+'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+
+'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y));
 end;
 
 procedure TErrlistForm.DeleteBtClick(Sender: TObject);
@@ -280,12 +301,38 @@
   PostMessage(Handle,WM_ACTIVATE,WA_CLICKACTIVE,0);
   SiteList := TStringlist.Create;
   RelaSiteList := TStringlist.Create;
+  ISB_BW:=TImageScrollBox.Create(Self);
+  SP1:= TShape.Create(self);
+  SP1.Name := 'SP1';
+  SP2:= TShape.Create(self);
+  SP2.Name := 'SP2';
+  SP3:= TShape.Create(self);
+  SP3.Name := 'SP3';
+  SP4:= TShape.Create(self);
+  SP4.Name := 'SP4';
+  SP5:= TShape.Create(self);
+  SP5.Name := 'SP5';
+  SP6:= TShape.Create(self);
+  SP6.Name := 'SP6';
+  SP7:= TShape.Create(self);
+  SP7.Name := 'SP7';
+  SP8:= TShape.Create(self);
+  SP8.Name := 'SP8';
 end;
 
 procedure TErrlistForm.FormDestroy(Sender: TObject);
 begin
   SiteList.Free;
   RelaSiteList.Free;
+  ISB_BW.Free;
+  SP1.Free;
+  SP2.Free;
+  SP3.Free;
+  SP4.Free;
+  SP5.Free;
+  SP6.Free;
+  SP7.Free;
+  SP8.Free;
 end;
 
 procedure TErrlistForm.ImmediateBtClick(Sender: TObject);
@@ -339,6 +386,10 @@
   FileName,Site : String;
   RelaFileName,RelaSite : String;
   Anchor,Anchor1 : String;
+
+
+  SizeStr : String;
+  NowW,NowH : Integer;
 begin
   ini := Tinifile.Create(iniPath+'Checkerr.ini');
   try
@@ -379,11 +430,23 @@
 
     if FileName <> '' then  //���n��ܼv��
     begin
-      //if MpsViewX1.FileName <> FileName then
-      //begin
-        ImageScrollBox1.LoadFromFile(FileName,1);
-        FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'');
-      //end;
+      ImageScrollBox1.LoadFromFile(FileName,1);
+
+      //FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'NONE');
+
+      //======================
+      ImageScrollBox1.LoadFromFile(FileName,1);
+      ImageScrollBox1NewGraphic(ImageScrollBox1.Graphic);
+      FindPoint(ISB_BW.Graphic,UpLPoint,UpRPoint,DownLPoint,NowW,NowH,ANCHOR);
+      ImageResize(ImageScrollBox1.Graphic,ISB_BW.Graphic.Width,ISB_BW.Graphic.Height);
+      FindPoint(ISB_BW.Graphic,UpLPoint,UpRPoint,DownLPoint,NowW,NowH,ANCHOR);
+      //==========================
+
+{ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+
+'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+
+'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+
+'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y)); }
+
       ShowOMRErr(Siteidx);
     end;
     if (RelaFileName <> '') and FileExists(RelaFileName) then //�����Y�v��
@@ -407,12 +470,41 @@
 var
   Site : String;
   iRect : TRect;
+  SP:TShape;
 begin
   if Idx > SiteList.Count then Exit;
   Site := SiteList.Strings[Idx-1];
+//ShowMessage('Site'+Site);
   //Site := TranslationRect(Site,MpsViewX1.GetImageDpi,'VIEW');
   iRect := CM_Str2Rect(Site,ImageScrollBox1.Graphic.XDotsPerInch,UpLPoint);
-  ShowKeyinRect(ImageScrollBox1,iRect);
+//ShowMessage('Idx='+IntToStr(Idx));
+//ShowMessage(IntToStr(iRect.Left)+','+IntToStr(iRect.Top)+','+IntToStr(iRect.Right)+','+IntToStr(iRect.Bottom));
+  SP := TShape(FindComponent('SP'+inttostr(Idx))); //20170327 �b�j�餤�n�ϥΦh�վB�n
+
+  SP.Brush.Color :=$00FEFAAD;
+  SP.Parent := ImageScrollBox1;
+  SP.Pen.Style := psSolid;
+  SP.Pen.Color := $00FEFAAD;
+  SP.Pen.Width := 1;
+  SP.Pen.Mode := pmMask;
+  SP.Left := iRect.Left;
+  SP.Top := iRect.Top;
+  SP.Width := iRect.Right-iRect.Left;
+  SP.Height := iRect.Bottom-iRect.Top;
+  //ImageScrollBox1.Redraw(True);
+
+  //ShowKeyinRect(ImageScrollBox1,iRect);
+  SetKeyinRect_New(ImageScrollBox1,Site,'','',UpLPoint,UpRPoint,sp);
+end;
+
+procedure TErrlistForm.ImageScrollBox1NewGraphic(const Graphic: TDibGraphic);
+begin
+  IF ImageScrollBox1.Graphic.Empty Then Exit;
+  ISB_BW.Graphic.Assign(ImageScrollBox1.Graphic);
+  If ImageScrollBox1.Graphic.ImageFormat <> ifBlackWhite Then
+  begin
+    ConvertToBW(ISB_BW.Graphic);
+  end;
 end;
 
 Procedure TErrlistForm.ShowRelaOMRErr(RelaIdx:Integer); //�e���W�q�X���YOMR�ˮ֥���

--
Gitblit v1.8.0