我有一個使用Dashcode編寫的OSX小部件。如何在Dashcode小部件中捕獲鼠標拖動事件?
當前任何鼠標拖動事件都會導致整個小部件在桌面上移動。
我希望能夠在該窗口小部件的畫布上單擊並拖動,但我似乎無法阻止OSX儀表板移動整個窗口小部件。
我已經在捕捉鼠標動作很開心,但點擊/拖動組合正在擊敗我。
我有一個使用Dashcode編寫的OSX小部件。如何在Dashcode小部件中捕獲鼠標拖動事件?
當前任何鼠標拖動事件都會導致整個小部件在桌面上移動。
我希望能夠在該窗口小部件的畫布上單擊並拖動,但我似乎無法阻止OSX儀表板移動整個窗口小部件。
我已經在捕捉鼠標動作很開心,但點擊/拖動組合正在擊敗我。
我明顯地在Apple Developer網站上找到了答案here。
放一個-apple-dashboard-region:
風格上要具有接收拖動事件,而不是拖動小工具,例如div
:
#canvas {
-apple-dashboard-region: dashboard-region(control rectangle 4px 4px 4px 4px);
}
編輯 - 這工作 - 現在我可以捕捉onMouseMove()
事件時,當鼠標按鈕被按下。
有一件事我不能(還)做的是IE的setCapture()
,其中鼠標移動事件繼續即使拖超出widget的面積要傳遞給應用程序的等價物。
這樣做嗎?任何人都試過它(我會在週末),但該文檔說:「指定控制區域意味着如果用戶試圖從指定區域內拖動小部件,則不會發生拖動,小部件也不會移動。」這僅表示小部件本身不會移動,但不會移動這意味着你實際上可以拖動,儘管我懷疑你可以。 – PurplePilot 2010-11-09 20:49:04
你有沒有解決這個問題?我一直在看它,無法找到任何拖放到小部件的方式,我也找不到任何示例或實例。我從閱讀了解桌面上如何實現一個小部件的感覺是,這是不可能的(除非你已經解決了它) – PurplePilot 2010-10-21 12:22:20
不,現在還沒有想法:( – Alnitak 2010-10-21 12:47:02