From 0756bf12d10cf1b7f78c571de0a9ad69cbaeb7ca Mon Sep 17 00:00:00 2001
From: curtis <curtis@i-mps.com>
Date: 星期一, 30 三月 2026 14:24:17 +0800
Subject: [PATCH] fix: 更新內部引用方法參照

---
 reassemble/view/listView.pas |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 deletions(-)

diff --git a/reassemble/view/listView.pas b/reassemble/view/listView.pas
new file mode 100644
index 0000000..d30b3e0
--- /dev/null
+++ b/reassemble/view/listView.pas
@@ -0,0 +1,77 @@
+{ ==============================================================================
+  方法名稱:PageLVClick
+  引用相依:
+  方法描述:處理影像列表點擊。選取項目後同步更新 ScrollBar1 的位置。
+============================================================================== }
+procedure TCB_IMGPSScanX.PageLVClick(Sender: TObject);
+begin
+  IF PageLV.Selected = nil Then Exit;
+  PageLVclear := False;
+  ScrollBar1.Position := PageLV.Selected.Index+1;
+  PageLVclear := True;
+end;
+
+
+{ ==============================================================================
+  方法名稱:PageLVKeyUp
+  引用相依:
+  方法描述:處理影像列表按鍵放開事件。若有選取項目,則同步更新 ScrollBar1 的位置。
+============================================================================== }
+procedure TCB_IMGPSScanX.PageLVKeyUp(Sender: TObject; var Key: Word;
+  Shift: TShiftState);
+begin
+  IF PageLV.Selected = nil Then Exit;
+  ScrollBar1.Position := PageLV.Selected.Index+1;
+end;
+
+
+{ ==============================================================================
+  方法名稱:PageLVMouseDown
+  引用相依:
+  方法描述:處理影像列表滑鼠按下事件。若是右鍵,則選取該項目並彈出右鍵選單。
+============================================================================== }
+procedure TCB_IMGPSScanX.PageLVMouseDown(Sender: TObject; Button: TMouseButton;
+  Shift: TShiftState; X, Y: Integer);
+begin
+  IF Button = TMouseButton(MbRight) Then
+  begin
+    If PageLV.GetItemAt(X,Y) = nil then Exit;
+    PageLV.Selected := PageLV.GetItemAt(X,Y);
+    PageLVClick(self);
+    PageLV.PopupMenu.Popup(Mouse.CursorPos.X ,Mouse.CursorPos.Y);
+  end;
+end;
+
+
+{ ==============================================================================
+  方法名稱:AttListBoxClick
+  引用相依:
+  方法描述:處理附加檔案列表點擊,若有選取則啟用刪除按鈕。
+============================================================================== }
+procedure TCB_IMGPSScanX.AttListBoxClick(Sender: TObject);
+begin
+  DelAttFileLB.Enabled := False;
+  if AttListBox.ItemIndex >= 0 then
+    DelAttFileLB.Enabled := True;
+end;
+
+
+{ ==============================================================================
+  方法名稱:AttListBoxDblClick
+  引用相依:FileExists
+  方法描述:處理附加檔案列表連按兩下,呼叫 ShellExecute 開啟檔案。
+============================================================================== }
+procedure TCB_IMGPSScanX.AttListBoxDblClick(Sender: TObject);
+var
+  AttFile : String;
+begin
+  if AttListBox.ItemIndex < 0 then Exit;
+
+  AttFile := HTTPEncode(UTF8Encode(AttListBox.Items.Strings[AttListBox.ItemIndex]));
+  if FileExists(DisplayPath+AttFile) then
+    ShellExecute(Application.Handle,'open',PChar(DisplayPath+AttFile),nil,nil,SW_SHOW)
+  else
+    Showmessage(Format(_Msg('找不到檔案:%s'),[AttFile]));
+end;
+
+

--
Gitblit v1.8.0