由於wince的顯示驅動是本地驅動,不能像流驅動一樣動態載入。所以,一般情況下不能動態修改和除錯。前兩天曾介紹過一種在應用程式中針對相同解析度但不同尺寸的lcd的除錯方法。這裡繼續介紹wince6.0下動態設定系統解析度的一種方法。我們可以通過系統提供的changedisplaysetting***()函式實現動態修改系統的解析度。
設定系統解析度的參考**如下:
複製**
1 dword dwwidth, dwheight;
2 devmode dm;
34 dwwidth = getdlgitemint(idc_combo_width, null, false);
5 dwheight = getdlgitemint(idc_combo_height, null, false);
6 memset((char*)&dm, 0, sizeof(devmode));
7 dm.dmsize = sizeof(devmode);
8 dm.dmpelswidth = dwwidth;
9 dm.dmpelsheight = dwheight;
10 dm.dmfields = dm_pelswidth | dm_pelsheight;
1112 if (disp_change_successful == changedisplaysetting***(null, &dm, null, 0, null))
13 複製**
通過這個函式,我們還可以實現螢幕的旋轉,參考**如下:
複製**
1 dword dwangle;
2 devmode dm;
34 dwangle = senddlgitemmessage(idc_combo_angle, cb_getcursel, null, null);
5 memset((char*)&dm, 0, sizeof(devmode));
6 dm.dmsize = sizeof(devmode);
7 dm.dmdisplayorientation = dmdo_0 + (dwangle <= dmdo_180 ? dwangle : 4);
8 dm.dmfields = dm_displayorientation;
910 if (disp_change_successful == changedisplaysetting***(null, &dm, null, 0, null))
11 複製**
動態修改系統解析度和旋轉螢幕的效果圖如下。
image
image
image
測試平台原始解析度是800*480,先後將解析度改為640*480和480*272,並在480*272的解析度下將螢幕旋轉90°。
如何安裝WinCE6 0
說實話,這個也寫一篇blog,實在不應該。今天重新安裝了wince6.0的開發環境,感覺還是挺累的。所以還是寫一篇吧,這個寫起來比較簡單,也算是這個月最後一篇blog了。下面開始 1.首先安裝visual studio 2005。7.當然,以後如果出了新的補丁,也要繼續打下去了。現在要公升級.net...
盤點WinCE6 0下的小遊戲
以下介紹的所有遊戲在下面平台下測試 ok 軟體平台 wince6.0 硬體平台 深圳友堅恒天科技 arm11 開發板 ut s3c6410 開發板 當前,基於 arm核的 cpu效能越來越高,比如三星的 arm11 cpu s3c6410 其主頻支援 533 667mhz 最高甚至可以達到 800m...
wince6 0下調整工作列和工作區
1 將工作列提到視窗頂端 wince 的整個視窗分為工作區 workarea 和動作欄 taskbar 一般預設為動作欄在底端總是顯示在最前面,而工作區 workarea 就是除去動作欄所剩餘的空間,他們的視窗定義都在目錄 public shell oak myshell ceshell explo...