首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi TPageScroller 打造自動捲動工具列:滑鼠懸停觸發平滑捲動效果

     編輯:Delphi

元件組合

  1. TImageList:存放工具按鈕圖示。
  2. TToolBar:Images := ImageList1,AutoSize := True,右鍵加入多個 TToolButton 並設定 ImageIndex。
  3. TPageScroller:Control := ToolBar1,AutoScroll := True(滑鼠懸停邊緣自動捲動),Orientation := soHorizontal。

設計時畫面

設計介面

執行效果

  • 工具列寬度 > PageScroller 寬度時,兩側出現捲動按鈕。
  • AutoScroll := True:滑鼠移至捲動按鈕上方自動連續捲動。
  • AutoScroll := False:需點擊捲動按鈕單步捲動。
初始畫面 捲動效果

進階客製化

  • 捲動速度:PageScroller1.ScrollAmount := 20(像素/次)。
  • 按鈕外觀:設定 PageScroller1.ButtonSize、自繪 OnPaint 替換預設三角箭頭。
  • 垂直工具列:Orientation := soVertical,ToolBar1.Align := alLeft。
  • 動態增減按鈕:運行時 ToolBar1.InsertButton/Delete,PageScroller 自動調整範圍。

原理說明

TPageScroller 內部建立兩個 TScrollBtn(繼承 TWinControl),在 WM_MOUSEMOVE / WM_TIMER 檢測滑鼠是否懸停於按鈕區域,啟動定時器呼叫 ScrollWindowEx 實現像素級平滑捲動,無需手寫捲動邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved