更改用户界面颜色
COLOR_SCROLLBAR
COLOR_BACKGROUND
COLOR_ACTIVECAPTION
COLOR_INACTIVECAPTION
COLOR_MENU
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_MENUTEXT
COLOR_WINDOWTEXT
COLOR_CAPTIONTEXT
COLOR_ACTIVEBORDER
COLOR_INACTIVEBORDER
COLOR_APPWORKSPACE
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_GRAYTEXT
COLOR_BTNTEXT
COLOR_INACTIVECAPTIONTEXT
COLOR_BTNHIGHLIGHT
COLOR_3DDKSHADOW
COLOR_3DLIGHT
COLOR_INFOTEXT
COLOR_INFOBK
COLOR_STATIC
COLOR_STATICTEXT
注意COLOR_BTNFACE是用在XP-Like的UI中设置标题栏的颜色。
可以增加这个.REG文件到Project.reg中,然后重新Build OS.
更改UI图片
找一下<%WINCE500%>\PUBLIC\COMMON\OAK\FILES中的bitmap图片:
[HKEY_LOCAL_MACHINE\SYSTEM\GWE]
"SysColor"=hex: 00,00,00,00, 3A,6E,A5,00, 00,00,00,00, 00,00,00,00,\
EF,EB,DE,00, FF,FF,FF,00, 00,00,00,00, 00,00,00,00,\
00,00,00,00, FF,FF,FF,00, C0,C0,C0,00, C0,C0,C0,00,\
80,80,80,00, 31,69,C6,00, FF,FF,FF,00, EF,EB,DE,00,\
AD,AA,9C,00, 80,80,80,00, 00,00,00,00, 00,00,00,00,\
FF,FF,FF,00, 73,6D,63,00, FF,FF,FF,00, 00,00,00,00,\
FF,FF,E1,00, EF,EB,DE,00, 00,00,00,00
其中的数据和下面的这个颜色表一一映射:"SysColor"=hex: 00,00,00,00, 3A,6E,A5,00, 00,00,00,00, 00,00,00,00,\
EF,EB,DE,00, FF,FF,FF,00, 00,00,00,00, 00,00,00,00,\
00,00,00,00, FF,FF,FF,00, C0,C0,C0,00, C0,C0,C0,00,\
80,80,80,00, 31,69,C6,00, FF,FF,FF,00, EF,EB,DE,00,\
AD,AA,9C,00, 80,80,80,00, 00,00,00,00, 00,00,00,00,\
FF,FF,FF,00, 73,6D,63,00, FF,FF,FF,00, 00,00,00,00,\
FF,FF,E1,00, EF,EB,DE,00, 00,00,00,00
COLOR_SCROLLBAR
COLOR_BACKGROUND
COLOR_ACTIVECAPTION
COLOR_INACTIVECAPTION
COLOR_MENU
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_MENUTEXT
COLOR_WINDOWTEXT
COLOR_CAPTIONTEXT
COLOR_ACTIVEBORDER
COLOR_INACTIVEBORDER
COLOR_APPWORKSPACE
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_GRAYTEXT
COLOR_BTNTEXT
COLOR_INACTIVECAPTIONTEXT
COLOR_BTNHIGHLIGHT
COLOR_3DDKSHADOW
COLOR_3DLIGHT
COLOR_INFOTEXT
COLOR_INFOBK
COLOR_STATIC
COLOR_STATICTEXT
注意COLOR_BTNFACE是用在XP-Like的UI中设置标题栏的颜色。
可以增加这个.REG文件到Project.reg中,然后重新Build OS.
更改UI图片
找一下<%WINCE500%>\PUBLIC\COMMON\OAK\FILES中的bitmap图片:
- Stdsm.bmp: Windows 95-like toolbar bitmaps.
- Stdsmxp.bmp: Windows XP-like toolbar bitmaps.
- Viewsm.bmp: Windows 95 'file' toolbar bitmaps.
- Viewsmxp.bmp: Windows XP 'file' toolbar bitmaps.
更改这些图片是一种方法,然而修改代码也未尝不可。看看<%WINCE500%>\PUBLIC\COMMON\OAK\DRIVERS\SKINNABLEUI\下面的代码,我们也能从中学到很多东西,不仅仅是定制OS的UI,而且还会对我们开发良好的应用界面有很大的帮助。
更改控件的外观
滚动条,下拉框,按钮,列表框,静态文本框,进度条等等,这就非要修改代码才可以了。<%WINCE500%>\PUBLIC\COMMON\OAK\DRIVERS\SKINNABLEUI\(GWE & COMMCTRL) or (GWEXP & COMMCTRLXP)
我们需要修改cesysgen.bat (<%WINCE500%>\public\%PROJECT_NAME%\WINCE400\%TARGETNAME%\oak\MISC)中的Sysgen变量:SYSGEN_REPLACESKIN=1
REM //XP or 9X UI
if "%SYSGEN_REPLACESKIN%"=="1" goto ReplaceSkin
if "%SYSGEN_XPSKIN%"=="1"
set GWE4_COMPONENTS=%GWE4_COMPONENTS%
sbcmnviewxp nclientviewxp gcacheviewxp btnctlviewxp
stcctlviewxp cmbctlviewxp lbctlviewxp
if not "%SYSGEN_XPSKIN%"=="1"
set GWE4_COMPONENTS=%GWE4_COMPONENTS%
sbcmnview nclientview gcacheview btnctlview
stcctlview cmbctlview lbctlview
:ReplaceSkin
if "%SYSGEN_REPLACESKIN%"=="1" goto ReplaceSkin
if "%SYSGEN_XPSKIN%"=="1"
set GWE4_COMPONENTS=%GWE4_COMPONENTS%
sbcmnviewxp nclientviewxp gcacheviewxp btnctlviewxp
stcctlviewxp cmbctlviewxp lbctlviewxp
if not "%SYSGEN_XPSKIN%"=="1"
set GWE4_COMPONENTS=%GWE4_COMPONENTS%
sbcmnview nclientview gcacheview btnctlview
stcctlview cmbctlview lbctlview
:ReplaceSkin
还要将默认的组件替换为你定制的组件
set GWE4_COMPONENTS=%GWE4_COMPONENTS%
sbcmnview nclientview gcacheview btnctlview
stcctlview cmbctlview lbctlview
sbcmnview nclientview gcacheview btnctlview
stcctlview cmbctlview lbctlview
最后Build到一起才是我们想要的OS.
*************************************
这辈子没法做太多事情,所以每一件都要做到精彩绝伦
这辈子没法做太多事情,所以每一件都要做到精彩绝伦