Windows Mobile螢幕旋轉解決方案

2021-05-22 18:55:29 字數 993 閱讀 4341

在預設情況下,windows mobile的cdialog類可以自動切換螢幕顯示方式,在使用者把手機螢幕旋轉成橫屏的時候,cdialog類也會自動旋轉,從而使得原本程式的繪製操作變亂。

那麼如何解決windows mobile下螢幕旋轉帶來的介面顯示問題,就成了亟待解決的問題。

一般來講,如果不準備為使用者提供橫屏體驗的話,那麼禁止螢幕旋轉無疑是最好的解決方案,這篇文章裡筆者試圖就這個問題進行一些**。

我們知道,windows mobile的本質是事件機制和訊息驅動,那麼螢幕旋**然也會傳送訊息給系統核心,這樣以來,讀者如果想對windows mobile螢幕旋轉做處理的話,自然首要的任務就是捕獲這個螢幕旋轉的訊息。

首先宣告訊息捕獲介面,如下:

1.begin_message_map(cmydlg, cdialog)

2. on_wm_settingchange()

3.end_message_map()

那麼接下來就是需要對這個捕獲到的訊息進行處理,如下:

asp/visual basic**

1.void cmydlg::onsettingchange(uint uflags, lpctstr lpszsection)

2.;

6. devmode.dmsize = sizeof(devmode);

7. devmode.dmfields = dm_displayorientation;

8. changedisplaysetting***(null, &devmode, null, cds_test, null);

9. if (dmdo_0 != devmode.dmdisplayorientation)

10.

16. return;

17.}

筆者在這裡是禁止螢幕進行旋轉,如果使用者旋轉成橫屏的話,這段**會強制使用者再回到豎屏狀態,如果讀者想提供使用者橫屏體驗的話,也可以設定乙個變數,從而獲取到螢幕的狀態,對螢幕的橫屏和豎屏狀態進行分別繪製。

玩轉windows mobile選單

1.wm的選單比較特殊,首先要有乙個放置選單的地方,這就是 menu bar 乙個視窗,擁有視窗控制代碼 hwnd 可以通過 showwindow 來顯示和隱藏 a 系統缺省會建立乙個空的 menu bar 如在dialog 模式下,menu bar 上只顯示了乙個輸入法圖示,returns men...

Windows Mobile開發簡介

windows mobile開發簡介 簡單介紹windows mobile上的應用軟體開發過程 os windows mobile windows mobile上的應用軟體開發主要用visual c vb,visual c ide用visual studio 2005以上版本。helloworld ...

windows mobile傳送簡訊

windows mobile傳送簡訊應用分為兩種,一是呼叫windows mobile自有的傳送簡訊視窗,將接收使用者的手機號碼傳遞給該視窗,完成簡訊傳送,另一種是通過呼叫api將文字傳送給指定的號碼,這中傳送方式對於使用者是無感知的視窗簡訊 視窗簡訊實現比較簡單,可以直接使用下面的啟動引數啟動系統...