當圖片尺寸超過顯示區域,最簡單的瀏覽方式不是寫捲動邏輯,而是善用 VCL 內建的 TScrollBox 自動捲動機制。只需兩個組件、三個屬性設定,零代碼即可實現大圖片任意拖曳瀏覽,連視窗縮放都能即時響應。
AutoScroll = True。Align = alNone、AutoSize = True,載入大圖片(Picture.LoadFromFile 或設計時指定)。AutoSize = True 讓 TImage 依圖片實際像素尺寸自動調整 Width/Height。AutoScroll = True 自動顯示水平/垂直捲軸。關鍵:TImage 必須是 TScrollBox 的子控件。操作方法:在 Object TreeView 或設計面先點選 ScrollBox 使其獲得焦點(邊框變虛線),再從工具箱雙擊 Image,或在 Object Inspector 拖曳 Image 到 ScrollBox 下層。
| 需求 | 實作方式 |
|---|---|
| 滑鼠滾輪捲動 | TScrollBox 內建支援,無需代碼 |
| 縮放 (Zoom) | 加 TTrackBar 控制 Image.Stretch + 手動縮放 Bitmap |
| 拖曳移動 (Pan) | 滑鼠中鍵或右鍵拖曳 ScrollBox.HorzScrollBar/VertScrollBar.Position |
| 載入超大圖 (超過 1 萬像素) | 改用 TImage + 手動繪製 Canvas.Draw 區塊,或第三方元件 (如 TMS ImageZoom) |
| 多圖片切換 | TImageList 或動態建立多個 TImage 切換 Visible |