|
WIN32 的版本, 主要也是應用在 POS 上, 看過很多觸控螢幕的點餐 POS 系統, 畫面做的五顏六色好不熱鬧, 不過還沒看過像 iphone 一樣, 手指在觸控螢幕左或右滑一下, 就有選單從左或右 "滑" 出來, 只是自己的突發奇想, 測試結果證明可行
■ 設計原理
1.透過物件的 OnMouseDown(), OnMouseUp(), OnMouseMove() 幾個事件 , 比對兩個不同時間點的滑鼠座標位置 , 看其是向左還是向右移動的趨勢 , 然後觸發移動選單的程序 , 把選單帶到定位
2.原本是透過 Form 的 OnMouseDown(), OnMouseUp(), OnMouseMove() , 雛型效果還不錯 , 證明這種想法可行 , 可以實踐出 IPHONE 的滑動菜單效果
3.後來發現有個現實問題 , 實際上程式的 Form 上不是單純同測試雛型那麼乾淨 ,Form 上還有其他物件 , 甚至有的物件是 Enabled = false 的 , 當你的滑鼠在這類的物件上滑動時 , Form 是抓不到 OnMouseDown(), OnMouseUp(), OnMouseMove() 等事件的
4.Form 沒有 像 KeyPreview 類似的 "MousePreview" 屬性 , 所以無法攔截在子物件上的滑鼠事件
5.這時 MOUSE HOOK 就派上用場了 , 透過 MOUSE HOOK 抓取全域的滑鼠事件 , 比對兩個不同時間點的滑鼠座標位置 , 看其是向左還是向右移動的趨勢 , 然後觸發移動選單的程序 , 把選單帶到定位
6.選單是一個 Panel , 上面你可以放入其他按鈕 , 選單(Panel)有三個定位點 : (1)藏在畫面左邊 , (2)秀出位置 , (3)藏在畫面右邊
7.透過 Timmer 物件移動選單位置到 三個定位點 之中的一個 |
评分
-
查看全部评分
|