WINCE實現螢幕旋轉

2021-04-17 21:24:35 字數 1102 閱讀 5558

下面的方法我確認可以實現wince螢幕旋轉,注意,此方法是在驅動層實現的,如果你只考慮在應用層去實現

,那下面的內容對你毫無意義。此方法有說會導致滑鼠與觸控螢幕不正常工作,我試下來確認沒有這種情況,執行正常。網上還有種方法是應用程式用api函式控制螢幕旋轉,注意,這種方法前提是驅動程式支援螢幕旋轉。我手上的bsp預設是不支援的,你需要按下面的方法開啟它。

**:wince 4.2以上

一.修改

**dk2440/drivers/display/s3c2440lcd 目錄下的sources檔案合適位置增加:

cleartype=0

rotate=1  //這句是我加的。這裡是為了鏈結相應的庫檔案。

三.s3c2440disp.h檔案頭上加一句

#define rotate 1

四.s3c2440disp.cpp中

s3c2440disp::s3c2440disp (void){

#ifdef rotate

m_irotate = dmdo_90; // 90不對是dmdo_90=1!!!!;  //0->90 我修改0-》90

setrotateparms();

#endif //rotate 

五。檢查platform.reg中,

[hkey_local_machine/system/gdi/drivers]

"display"="s3c2440disp.dll"

以下登錄檔可以有可以沒有,我是加了。

[hkey_local_machine/system/gdi/rotation] 

"angle"=dword:5a  ;0x5a for 90,這是我加的,加在gdi/drivers這項後面

六,要在s3c2440disp::s3c2440disp (void) 最後加一句

((gpesurfrotate *)m_pprimarysu***ce)->setrotation(m_nscreenwidth, m_nscreenheight, m_irotate);

而s2440.h、2410中關於螢幕的東西不要去改,那是初試化lcd控制器的,與這裡沒有關係。

修改lcd控制器是另外乙個方式實現lcd旋轉的。

wince螢幕旋轉

wince4.2以上 dk2440 drivers display s3c2440lcd s3c2440disp.cpp中 s3c2440disp s3c2440disp void 由此可看出,改變登錄檔中相應位置就可改變旋轉角度.為了驗證,直接通過pb的遠端修改登錄檔工具修改 hkey local...

WinCE旋轉螢幕函式

以下函式,每執行一次旋轉90度 void rotationscreenfun void else get the current rotation angle.memset devmode,0,sizeof devmode devmode.dmsize sizeof devmode devmode....

Android實現螢幕自動旋轉功能

直接看 這裡用到的是orientationeventlistener類,它是當手機螢幕旋轉時從sensormanger接受通知的助手類。新建乙個類繼承orientationeventlistener,如下 class myorientoinlistener extends orientationev...