定制WM6.5的拔号界面,在XDA上面看到的文章,转过来看一下,很多有用的设置,
原文地址:http://forum.xda-developers.com/showthread.php?t=525055
Tuto: Modification of a Dialer
Hello everyone,
This Tuto allowing to intervene directly on the resources of your dialer. Ie DLL.
Advantages: No additional resource, only those origins. So, not one gram of fat added. A Dialer 0%
The items made available or examples are from the rom of my LG KS20 QVGA (Rom KisS20 of Spocky), you've got to bring such changes to your devices.
1) Resources (DLL)
First you must know that your dialer is mainly used two resources:
The first is by "default" of WM. It tapres.dll.0xxx.mui nome. XXX is the language ID (FR = 040C -> tapres.dll.040C.mui).
The second is usually the manufacturer. It is here to provide additional functionality (type video calls), and / or skin.
The name of this DLL can be found here ->
[HKEY_LOCAL_MACHINE\Security\Phone\Skin] [HKEY_LOCAL_MACHINE \ Security \ Phone \ Skin]
"Enabled" = dword: 00000000
"ext" = "\ windows \ Your DLL.dll"
To activate one or the other DLLs just go "Enabled" = dword: 0000000 0 (DLL by default) to 1 (DLL constructor).
Every two are in the Windows directory on your PPC.
2) Images
Your default dialer is composed of the following images:
dlrback_land.png--------->Background dialer
dlrback_port.png
dlrbtndef_dwn_land.gif--> buttons for the functions call, speed dial, etc.
dlrbtndef_dwn_port.gif
dlrbtndef_up_land.gif
dlrbtndef_up_port.gif
dlrbtnend_up_land.gif----> button "Done"
dlrbtnend_up_port.gif
dlrbtntalk_up_land.gif----> button "Call"
dlrbtntalk_up_port.gif
dlrbtn_dwn_land.gif------> other keys (numbers / letters)
dlrbtn_dwn_port.gif
dlrbtn_up_land.gif
dlrbtn_up_port.gif
"Port" for the portrait, "Land" for landscape mode. "Up" for keys not pressed, "dwn" for keys pressed.
Note: The images used for the buttons' functions are identical to the keys "call status".
3) Tools
A resource editor (Restorator, Resource Tuner etc)
Unsigned MSigner and to sign your DLL amended
Drawing software (Photoshop and others)
The notepad ...
4) Modification of resources (DLL)
With the help of your editor and open your DLL go to the directory Dialog.
Resources 22500 (dialer, landscape mode), 22507 (call status landscape mode), 22509 (dialer, portrait mode) and 22510 (call status portrait) define your dialer.
Change the size and location of images of different elements. The keyboard, calling area, the SmartDial ....
Example using 0 to 9
CONTROL "", 23041, "MS_PHONE_BUTTON", 1, 122, 52, 36 ----> Size
CONTROL "", 23042, "MS_PHONE_BUTTON", 54, 122, 52, 36 ----> Implantation
CONTROL "", 23041, "MS_PHONE_BUTTON", 1 , 122 , 52 , 36 CONTROL "", 23041, "MS_PHONE_BUTTON", 1, 122, 52, 36
The first 2 values Y = X and X is the location left / right and Y up / down
Les 2 autres = taille de l'image, longueur / largeur The other 2 = image size, length / width
Save your new DLL, sign here and test.
5) Edit pictures
Nothing special ...
In my previous example the size of my images is increased to 52x36. So I created new images to this size. They replace the original (dlrbtndef_dwn_port.gif, dlrbtndef_up_land.gif, dlrbtndef_up_port.gif ...).
Open a simple image viewer, Edit -> resize -> Save 52x36
Go to the experts Edit -> change color -> Save.
6) Putting
I change my DLL tapres.dll.040C.mui as follows:
Dialog 22509
..... .....
CONTROL "", 23041, "MS_PHONE_BUTTON", 1, 122, 52, 36
CONTROL "", 23042, "MS_PHONE_BUTTON", 54, 122, 52, 36
CONTROL "", 23043, "MS_PHONE_BUTTON", 107, 122, 52, 36
CONTROL "", 23044, "MS_PHONE_BUTTON", 1, 159, 52, 36
CONTROL "", 23045, "MS_PHONE_BUTTON", 54, 159, 52, 36
CONTROL "", 23046, "MS_PHONE_BUTTON", 107, 159, 52, 36
CONTROL "", 23047, "MS_PHONE_BUTTON", 1, 196, 52, 36
CONTROL "", 23048, "MS_PHONE_BUTTON", 54, 196, 52, 36
CONTROL "", 23049, "MS_PHONE_BUTTON", 107, 196, 52, 36
CONTROL "", 23051, "MS_PHONE_BUTTON", 1, 233, 52, 36
CONTROL "", 23050, "MS_PHONE_BUTTON", 54, 233, 52, 36
CONTROL "", 23052, "MS_PHONE_BUTTON", 107, 233, 52, 36
CONTROL "", 23001, "MS_PHONE_BUTTON", 160, 122, 79, 36
CONTROL "", 23012, "MS_PHONE_BUTTON", 160, 159, 79, 36
CONTROL "", 23011, "MS_PHONE_BUTTON", 160, 196, 79, 36
CONTROL "", 23014, "MS_PHONE_BUTTON", 160, 233, 79, 36
..... .....
I also modified the original image and I let [HKEY_LOCAL_MACHINE \ Security \ Phone \ Skin]
"Enabled" = dword: 0000000 0 for do not call for anything else (DLL or manufacturer, or a skin external).
7) The base registry
From the registry you can almost touch any settings for your Skin, images, text, color etc..
In the example above you can see that the text is centered, the figures are white, the letters are gray. Here's how to proceed.
"Enabled" = dword: 0000000
1 ---> Skin Active
[HKEY_LOCAL_MACHINE\Security\Phone\Skin\Dialer\Land scape\dialbutton]
"MajorFlags" = dword: 00000005 -------> centered position of Figures dialer
"MinorFlags" = dword: 00000005 -------> centered position of Letters from the dialer
"MajorColor" = dword: 00ffffff -------> Color numbers (00ffffff = white)
"MinorColor" = dword: 00cccccc -------> Color Letters (00cccccc = gray)
[HKEY_LOCAL_MACHINE\Security\Phone\Skin\Dialer\Port rait\dialbutton]
"MinorFlags" = dword: 00000005
"MajorFlags" = dword: 00000005
"MajorColor" = dword: 00ffffff
"MinorColor" = dword: 00cccccc
It can also affect the style MajorRCMLStyle ...
For the "textFlags" position is defined as:
dword 0 : top left
dword 1 : top center
dword 2 : top right
dword 4 : middle left
dword 5 : middle center (default value)
dword 6 : middle right
dword 8 : bottom left
dword 9 : bottom center
dword A : bottom right
In my case I have 5, one centering vertically and horizontally (almost perfect because the numbers and letters are struggling a bit them secret ) )
"textLayoutFlags" : "textLayoutFlags":
dword 0: Numbers, then Letters
dword 1: Letters, Numbers then
dword 2: just numbers (no letters)
In my case I have 0 ...
Here are the keys to BDR that you can learn:
HKLM\Security\Phone\Skin\ =This is the main key for phone skins
DIALER = This is the main dial pad that you dial phone numbers on
LANDSCAPE and PORTRAIT = The orientation or the dialpad phone you should change the same key in both orientation to stay consistant
text = Text in the "Information Window" The one that shows last number dialed, contact info, etc.
textColor = Color of the text in the information window
dialbutton = Button that displays the numbers you dial
MajorColor = Color of the dial button digits
MinorColor = Color of the dial button text (abc, def)
MajorRCMLStyle = Size of the dial button digit, HEX values are smaller for the 1 through 20 for the largest (1a, 1b, 1c, etc.)
MinorRCMLStyle = Size of the dial button text, HEX values are smaller for the 1 through 20 for the largest (1a, 1b, 1c, etc.)
MajorFlags = Position of the number on the dial button, values are 1-13 (decimal), IE, Upperleft, bottomright, center, etc. (Hex 400 makes the text invisible)
MinorFlags = Position of the text on the dial button, values are 1-13 (decimal), IE, Upperleft, bottomright, center, etc. (Hex 400 makes the text invisible)
bmpNormal = Path to the Bitmap you see when you are not touching the keys
bmpPressed = Path to the Bitmap you see when you press a dial key
bmpFlags = Adjusts the alignment of the bitmap on the key, not commonly used
bmpTransparency = Transparency of the bitmap and ability to show through backgound image
bmpDisabled = Bitmap that displays if the button goes disabled, like "Hold" is disabled if you are not in call
erasebutton = Button that erases digits you typed (Usually the back arrow)
bmpNormal = Path to the Bitmap you see when you are not touching the keys
bmpPressed = Path to the Bitmap you see when you press a dial key
bmpFlags = Adjusts the alignment of the bitmap on the key, not commonly used
bmpTransparency = Transparency of the bitmap and ability to show through backgound image
bmpDisabled = Bitmap that displays if the button goes disabled, like "Hold" is disabled if you are not in call
VerbButton = Button (f0f0f special value will make the text invisible on the textFlags key)
textColor = Color of the "Call History" text
textRCMLStyle = Size of the "Call History" text, HEX values are smaller for the 1 through 20 for the largest (1a, 1b, 1c, etc.)
textFlags = Position of the "Call History" button on the text, values are 1-13 (decimal), IE, Upperleft, bottomright, center, etc.
bmpNormal = Path to the Bitmap you see when you are not touching the keys
bmpPressed = Path to the Bitmap you see when you press a dial key
bmpFlags = Adjusts the alignment of the bitmap on the key, not commonly used
bmpTransparency = Transparency of the bitmap and ability to show through backgound image
bmpDisabled = Bitmap that displays if the button goes disabled, like "Hold" is disabled if you are not in call
textDisabledColor = text of the disabled in the event a button goes disabled
other = Only used to define the page background
bmpNormal = Path to the image used in the background
TalkEndButton = The setting for the combined talk / end button
bmpDisabledEnd = Bitmap that displays when the End button goes disabled
bmpDisabledTalk = Bitmap that displays when the Talk button goes disabled
bmpFlagsEnd = Adjusts the alignment of the bitmap on the key, not commonly used
bmpFlagsTalk = Adjusts the alignment of the bitmap on the key, not commonly used
bmpNormalEnd = Path to the Bitmap you see when End is active
bmpNormalTalk = Path to the Bitmap you see when Talk is active
bmpPressedEnd = Path to the Bitmap you see when End is pressed
bmpPressedTalk = Path to the Bitmap you see when Talk is pressed
bmpTransparencyEnd = End of the bitmap and ability to show through backgound image
bmpTransparencyTalk = Transparency of the Talk bitmap and ability to show through backgound image Transparency
PROGRESS = This is the "In Call" page you see when on a call
VerbButton = Call History Button (special value f0f0f will make the text invisible on the textFlags key)
textColor = Color of the "Call History" text
textRCMLStyle = Size of the "Call History" text, values are HEX 1a for the smaller through 20 for the largest (1a,1b,1c, etc)
textFlags = Position of the "Call History" text on the button, values are 1-13 (decimal), IE, Upperleft, bottomright, center,etc
bmpNormal = Path to the Bitmap you see when you are not touching the keys
bmpPressed = Path to the Bitmap you see when you press a dial key
bmpFlags = Adjusts the alignment of the bitmap on the key, not commonly used
bmpTransparency = Transparency of the bitmap and ability to show through backgound image
bmpDisabled = Bitmap that displays if the button goes disabled, like "Hold" is disabled if you are not in call
other =Only used to define the background page
bmpNormal = Path to the image used in the background
TalkEndButton = The setting for the combined talk/end button
bmpDisabledEnd = Bitmap that displays when the End button goes disabled
bmpDisabledTalk = Bitmap that displays when the Talk button goes disabled
bmpFlagsEnd = Adjusts the alignment of the bitmap on the key, not commonly used
bmpFlagsTalk = Adjusts the alignment of the bitmap on the key, not commonly used
bmpNormalEnd = Path to the Bitmap you see when End is active
bmpNormalTalk = Path to the Bitmap you see when Talk is active
bmpPressedEnd = Path to the Bitmap you see when End is pressed
bmpPressedTalk = Path to the Bitmap you see when Talk is pressed
bmpTransparencyEnd = Transparency of the End bitmap and ability to show through backgound image
bmpTransparencyTalk = Transparency of the Talk bitmap and ability to show through backgound image
text =Text in the "Information Window" The one that shows last number dialed, contact info, etc
textColor = Color of the text in the information window
8) Problems
For those who have already installed a dialer skin you must delete all keys added to the registry.
HKEY_LOCAL_MACHINE \ Security \ Phone \ Skin \ DIALER (entire directory)
HKEY_LOCAL_MACHINE \ Security \ Phone \ Skin \ PROGRESS (entire directory)
For HTC but also look here, if problems in displaying and / or color persisted.
[HKEY_LOCAL_MACHINE\Software\HTC\PHONE]
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SmartDialing]
You have to play.
Thank you to Mat for the Tuto clarification and all those involved in its improvement.
Rickou26 (Or Arthemus).
<!-- / message --><!-- sig -->