Windows/MFC

Windows Mobile 5 Colors

aucd29 2013. 10. 2. 18:39

http://wiki.xda-developers.com/index.php?pagename=WindowsMobile5Colors

Windows Mobile 5 Colors

Browse: Windows Mobile 5 > Registry Tweaks > Display > Colors



Various UI colors on Windows Mobile 5 are configured as follows:
For Windows Mobile 200x UI colors, see PocketPCTodayColors

[HKLM\SOFTWARE\Microsoft\Color]

Known Colors

 value name   meaning 
 BaseHue   Base Hue value (DWORD) upon which many UI elements are based when not overridden. See bottom of page for a detailed explanation with examples and chart. This value can be changed interactively, thus making it possible to use in applications for e.g. notification purposes. 
 SHColor   BLOB (Binary Large OBject) of color values. A reference of which binvalue set belongs to what UI element has not yet been spotted, but several internet articles mention tweaking bits of it to change colors that can be changed through the below keys as well 
 4   Today screen items text color. This, and the other numeric values, can be changed interactively, thus making it possible to use in applications for e.g. notification purposes. 
 5   Navigation bar color aka starticon (e.g. 'Start menu background color'). Include also bottom navigation bar. 
 6   Today screen horizontal separator color 
 34   Today Screen items background highlight color (defaults to value defined by BaseHue) 
 35   Today Screen items text highlight color 
 39   Start menu text 
 9   Taskbar text color (e.g. 'Start' and clock display) 
 13   Pop-up balloon (e.g. date/time), left-hand side of titlebar gradient 
 14   Pop-up balloon (e.g. date/time), right-hand side of titlebar gradient 
 27   Pop-up balloon (e.g. date/time), titlebar text 
 25   Pop-up alert (e.g. missed call, password incorrect), left-hand side of titlebar gradient 
 26   Pop-up alert (e.g. missed call, password incorrect), left-hand side of titlebar gradient 
 28   Pop-up alert (e.g. missed call, password incorrect), titlebar text 
 15   'List Page' (e.g. Contacts main screen background), left-hand side of ODD lines gradient 
 16   'List Page' (e.g. Contacts main screen background), right-hand side of ODD lines gradient 
 36   'List Page' (e.g. Contacts main screen background), left-hand side of EVEN lines gradient 
 37   'List Page' (e.g. Contacts main screen background), right-hand side of EVEN lines gradient 
 8   Color of Password screen digits background, and maybe other elements. Old WM200x "color of status bar background" 
 19   Color of text on phone SIM card PIN code entry screen's buttons, and maybe other elements 
 40   Tap-and-hold dots 
 11   Secondary alert tray (tray shown when not enough space for all notifications) 

For all numerical value names, the datatype is Binary. The binary itself is composed of HEX values using the combination "RR GG BB AA" for Red, Green, Blue and Alpha (typically goes ignored). If your device is 'missing' one of the value names, you can add it manually.

Colors defined in PocketPCTodayColors which have not been confirmed in WM5

 value name   meaning 
 1   "color of 'status' in activesync connect msg." - what is the ActiveSync Connect Msg? 
 5   "background of starticon" Color behind cross when Mbutton (or other) launch himself after reset. Usually, it's a little square on right top of screen. This item work on WM5. 
 7   "color of command bar background". The command bar background is the old bar at the bottom of the screen on Mobile 2003 device. It was usually grey. 
 10   "navigation bar highlite color" - what is the navigation bar? 
 11   "tray background" - WM5 'Tray' uses Today screen background image for background 
 12   "tray highlight" - WM5 'Tray' highlight color is Today Screen selected item background highlight color (34) 

Value names stored in registry without associated UI element found (device is Qtek 9100, ROM 1.1.7.5)

 value name   value   meaning 
 38   C2 06 06 00 (medium red)   ??? 
 42   6D 73 66 74 (greenish grey, with alpha)   BenThon figured this one out - in ASCII it spells "msft", which stands for "Microsoft". And, of course, the answer to life, the universe, and everything is "42". Cute - but thus unlikely to be an actually used color. This value is generated by Microsoft's ThemeGenerator 

Other value names without associated UI element found

 value name   meaning 
 2    
 3    
 17    
 18    
 20    
 21    
 22    
 23    
 24    
 29    
 30    
 31    
 32    
 33    
 41    
 >42   42 is the last value name stored on device Qtek 9100, ROM 1.1.7.5. It is conceivable that there are other value names possible. 

Color values defined through theme file registry settings

These values will only become apparent if loaded from a theme file, or after a soft reset

[HKCU\SOFTWARE\Microsoft\Today\ThemeName.tsk]

(Where ThemeName should match the currently active .tsk file)

 value name   meaning 
 UseDefaultTitleColor   Default value is 1. Seem to suppress several changes while at 1. Set to 0, and you will notice several changes kick in. I will edit this when I have a proper list. PM me for an incomplete one. -ideologist 
 Color_CaptionFlat   Color of dialogs which use a single title background color (such as the Pocket PC Networking message dialog) 
 Color_CommandBar   Color of 'flat' bottom command bar as seen in e.g. Help. Also background color of SIP icon when SIP is active in gradiented command bar, and color in the two lower (2px high) gradients on many screens such as the Today screen. 
 Color_CommandBarText   Color of the text in the command bar 
 Color_CommandBarText_Highlight   Color of the text in the command bar when highlighted (tapped) 
 Color_CommandBarSip_Highlight   Background color of the SIP icon when SIP is active in flat command bar (e.g. Help, but not Notes) 
 Color_Highlight   Background color of selected items in lists (Start menu, Explorer, Contacts, etc.) 
 Color_HighlightText   Text color of selected items in lists (Start menu, Explorer, Contacts, etc.) 
 Color_MenuText   Color of text in pop-up menus (e.g. Calendar > Menu). 
 Color_NavBarText_Highlight   Color of task bar text when highlighted (e.g. "Start" when opening the Start menu) 
 Color_SoftkeyFlat   ? 
 Color_SoftkeyFlatCenter   Color of soft keys bar background 
 Color_SoftkeyBtnFace   ? 
 Color_TitleFlat   ? 
 Color_TitleFlatCenter   Color of task bar background 
 Color_TitleFlatDoneBtn   Color of OK/Close button in task bar 
 Color_TitleFlatDoneBtn_Highlight   Color of OK/Close button in task bar when highlighted (clicked/depressed) 
 others?   There may be others - this is difficult to determine without having real world examples 

Additional color changes may be done through the BLOB:
HKLM\SYSTEM\GWE\SysColor
For details, see: MSDN Windows CE5 : 'Customizing System Colors'


BaseHue

In Windows Mobile 5, many of the UI colors are governed by a single registry value, the BaseHue. This value defines a basic 'tint' (Hsv) (e.g. color in colors of the rainbow) from which the actual colors used are then derived by varying brightness (hsV) and vividness (hSv).
This BaseHue value is normally derived from the settings used in a Theme.

By changing this single color manually, the Windows Mobile 5 user interface can be quickly customized for 'theming' purposes, but also as part of applications taking advantage of this behavior to perform visual effects. For example, in SPB Backup the main list view has a background gradient that matches the theme or in ThemeGenCE you can set this value.
( Note that changing themes will also, likely, re-set your BaseHue value )

The value defined can be roughly specified as correlating as follows to tints:

 value   tint 
 0-255   greyscales - the brightness of the greyscale values varies - however, neither black or white are incorporated. Please see the WM5 ?BaseHue Gradient for an overview 
 256-495   color tints clockwise (red > yellow > green > cyan > blue > magenta > red) along a hue wheel (rainbow) 
 496-511   color starts at magenta and tints back towards red 
 512+   as 256-511 - there appears to be no measurable difference 

Typical values are:

 value   angle on hue wheel   tint 
 0   n/a   greyscale 
 257   0   red 
 277   30   orange 
 296   60   yellow 
 317   90   neon green 
 337   120   green 
 357   150   mint 
 376   180   cyan 
 397   210   sky blue 
 417   240   blue 
 437   270   royal purple 
 457   300   magenta 
 476   330   hot pink 
 396   359   'red' 

Microsofts ?BaseHue Secret

The Microsoft Default value is: '65929'
This value does not appear to differ from the value '393'. The reason for that is:
('65929' as hex is '0x010189')
The usage of the first byte ('01') is unknown (change it to whatever you want and nothing will change).
The second byte ('01') defines whether to use grayscale ( == 0x00 ) or not ( > 0x00 ).
The third byte states the gray value or the hue value (0-255).

So. Taking '393' as hex makes 0x000189. Except for the first byte its the same as '65929'.


The below package contains a large image which shows the relationship visually along with example screenshots.
It also includes an 'interactive' color explorer using HTML, CSS and javascript
Lastly, it contains example shortcuts for Vijay555's VJBaseHue application
http://wiki.xda-developers.com/images/wm5uicolorschemes_thumb.jpg BaseHue ColorScheme chart
http://wiki.xda-developers.com/uploads/wm5ui_basehue_tweak.zip - 560k

WM5 BaseHue Gradient
http://wiki.xda-developers.com/images/wm5ui_basehue_gradient.png