Windows中多指標輸入技術的實現與應用(8 總結及繼續MFC的討論

來源:互聯網
上載者:User

Windows中多指標輸入技術的實現與應用(8 總結及繼續MFC的討論)

湖南大學 謝祁衡

5 結論和目前各實現的不足

       本文通過幾種目前國外常用的多滑鼠控制輸入實現方法的比較,分析了各種方法的優劣,並給出使用建議。最後簡單介紹了本文得出的綜合效能最佳的SDG Toolkit具體使用方法。本文希望通過對此技術兩種實現方法原理的詳細介紹,各種實現方法的簡單介紹,和對SDG Toolkit具體使用方法的簡單介紹,可以讓人瞭解並可以在更多多指標輸入技術有優勢的相關的軟體中使用此技術。

       但是即便是現在最佳的實現方案SDG Toolkit也仍然有很多不足之處,目前沒有任何方案能夠較完美的相容以前的軟體,使得任何開發人員要利用此技術都不得不通過對此技術的學習,並且必須要對以前的軟體進行一定改變才能很好的利用此技術。另外,雖然多指標輸入的軟體開發方案已經比較多了,但僅僅是解決了多滑鼠操作同一個軟體的問題,離SDG目標真正的實現還有一定差距,比如目前還沒有辦法同時讓各人使用自己的滑鼠操作各自不同的軟體,就像分屏技術那樣與其他人互不影響。因為此種技術的實現必然牽涉到Windows底層的視窗焦點問題,難度比較大,所以筆者目前還沒有看到任何真正的實現。筆者非常希望期待有一天真正通用的多指標輸入裝置軟體出現,或者有一天微軟能從作業系統層面完全的支援多指標裝置的輸入,讓軟體開發人員不需要瞭解任何相關知識,就可以在需要的時候,利用這種在很多方面都有獨特優點的技術。不用MFC的朋友們就可以不往下看了,以下專門寫個和我一樣在MFC中痛苦掙紮的兄弟們。

     另外,個人比較遺憾的是,我最常用的類庫MFC並沒有很好的多滑鼠技術實現,於是只能自己從頭編程,這點我很鬱悶,只能自己摸索摸索了,原論文到這裡就完了,關於MFC的部分是我後來加的,我今天就要去北京了,所以不知道什麼時候再有時間來完成關於MFC的部分了,甚至連梳理一下思路的時間都沒有,啊。。。我已經一晚上沒有睡了,雖然看了前面一部分估計你們都可以自己在MFC下實現了,但是為了拋磚引玉,我貼出以前兩人五子棋的原始碼,供大家參考,這裡我要說明一下的是,那時候的版本還不是太好,但是我也對第2章的內容進行了最佳化,那就是只更新滑鼠移動的一定範圍內的矩形,以此達到減少全屏重新整理的問題,那個程式很久沒有動它了,其實就算要更新矩形也應該計算一下移動,然後更新移動範圍內的矩形較好,當時僅僅作為測試,就沒有想太多,就是更新了一個我自己定義的範圍而已。現在我新的摸索中的實現是利用SDG Toolkit中類似的思想,讓透明的繪製有滑鼠指標表徵圖的視窗作為滑鼠指標,這樣重新整理的就僅僅是上層視窗了,那樣幾乎是我能想到的最完美的滑鼠指標繪製方式,假如我等下能找到以前寫的一些代碼的話,我也貼出來。

由於現在我在家裡電腦,沒有安裝VS,無法測試現存代碼的正確性,不知道在進行了相關更改嘗試後程式還能不能正常編譯運行,但是方法和思想都還在裡面,主要的問題就是繪製頂層透明視窗的問題而已,希望你們自己能識別一下。謝謝了,假如以後有時間的話,我把關於MFC的部分再梳理一下,也把我的程式原始碼解釋一下^^

其中我還嘗試了在MFC 中插入.Net控制項的方式,希望能在MFC中利用SDG Toolkit,但是發現實際的效果並不好,因為訊息映射起來會相當麻煩,都要依靠手工代碼,而且效率明顯不如純MFC程式,這裡我就沒有講這種方法了,還是那句話,以後有時間也講講,大家各取所需吧。

目前這個系列也就到這裡了,呵呵,要都看完和理解估計也不是那麼快的吧:)

下面就貼幾個原始碼吧

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.