Shellstyle.dll file modifications in Visual style
2007-3-8 11:25:00
Author: silencer
Shellstyle.dll Modified * Part of the content reference from WHISTL3R Shellstyle Tutorial
Preliminary knowledge
The structure of the 1.shellstyle.dll
Uifiles:
UIFile1: Defining Forms and Task List styles
UIFile2: Defining Control Panel Styles
Resources: List of resource files
10,11,12: Music Folder
13,14,15: Pictures folder
16,17,18: Finding
19,20,21: Video Folders
22, 26: Control Panel
25: System folders
100,101,102,103,104,105,106,107: Panel Open/Close button
110,112: Panel Top Bar
120: Background
Strings: Defines a commonly used string or numeric value (font, size)
CPWEBVW. CSS: Defining user Account Form Styles
2. Use of resources
Rcstr (str_id)
Number in Str_id:strings
Rcbmp (bmp_id, stretching, Transparent_color, WIDTH, HEIGHT, Size_flag, MIRROR)
Number in Bmp_id:resources
Stretching: Fill Mode 1 = Normal, 3, = repeat, 6 = stretch, 7 = 32bit bitmap
Transparent_color: Color ignored when padding #RRGGBB
width, Height: widths, heights
Size_flag: Image Size 1 = Use picture default size, 0 = use specified size
MIRROR: Reverse 0 = normal, 1 = reverse
Rcint (str_id)//convert string to numeric value
Number in Str_id:strings
DTB (Handlemap (a), b,c)//guessing is a way to get the images in the current topic, but the images represented by A,b,c values are not very clear
Sysmetric (ID)//System Variable table
ID Desirable value:
0 Screen width
1 screen Height
2 Width of sizable window frame
3 Height of sizable window frame
4 Width of scroll arrows on vertical scroll bar
5 Height of scroll arrows on vertical scroll bar
6 Width of scroll arrows on horizontal scroll bar
7 Height of scroll arrows on horizontal scroll bar
8 Height of window title
9 Width of non-sizable window frame
The Height of non-sizable window frame
One Width of DOUBLE or PANEL window frame
The Height of DOUBLE or PANEL window frame
Scroll box width on horizontal Scroll bar in text editing windows
Scroll box height on vertical Scroll bar in text editing windows
Minimized window icon width
Minimized window icon Height
Maximum insertion point Width
Maximum insertion point Height
Single-line Menu Bar Height
Maximized window width
Maximized window height
Kanji Window Height
Minimum Sizable window width
Minimum Sizable window height
Minimum window width
num Minimum Window Height
Windows controls Width
Window Controls Height
1 if mouse hardware present; otherwise 0
1 for Microsoft Windows debugging version; otherwise 0
1 if mouse buttons swapped; otherwise 0
Width of a button in a half-caption window ' s caption or title bar
The Height of Half-caption window caption area
Core part
The writing of Uifile
The content in Uifile is that many structures are
<style resid=***>
...
Element [Id=atom (* * *)]
{...}
Element [Id=atom (* * *)]
{...}
...
...
</style>
Code snippet that defines the style of a particular part and its inner elements
The attributes that can be included are
Contentalign://Element position. can have the following values
Top:topleft, TopRight, Topcenter
Middle:middleleft, MiddleRight, MiddleCenter
Bottom:bottomleft, BottomRight, Bottomcenter
Wrap:wrapleft, Wrapright, Wrapcenter//Only available for text
Background://Background color
Foreground://Foreground color
BorderColor://Border Color These 3 properties can have the following values
RGB (red,green,blue)//rgb color
ARGB (Alpha,red,green,blue)//contains alpha channel
Gradient (ARGB (alpha,red,green,blue), ARGB (Alpha,red,green,blue), Direction)//fade, 1th color variable to upper left, 2nd right lower driection: direction 0 = Horizontal, 1 = Vertical
Black, white, red, green, blue, ...//Direct description
Windows, windowtext, ButtonFace, Buttonshadow, Buttonlight, ButtonText, ScrollBar, Hotlight, Activecaption, CaptionText ...//System colors
FontSize://font size
Using values from the strings table
Fontface://font
Using values from the strings table
FontStyle://font style
Use normal, bold, italic, underline, etc.
Margin:rect (Left,top,right,bottom); Edge width that remains unchanged when zooming
Padding:rect (Left,top,right,bottom); Element position
Take the XP default theme Luna UIFile1 as an example
<style resid=main>//main form
Duilistview [Id=atom (ListView)]//list browsing
{
Contentalign:middlecenter;
Fontsize:sysmetric (-16); Sysmetric is the system variable table, the corresponding variable type is shown in the preceding table
Fontweight:sysmetric (-17);
Fontstyle:sysmetric (-18);
FONTFACE:SYSMETRICSTR (6);
}
Duiaxhost [Id=atom (preview)]//Slide Sorter
{
Contentalign:middlecenter;
Borderthickness:rect (20RP,20RP,20RP,20RP);
Bordercolor:rgb (255,0,0);
}
Element
{
Background:argb (0,0,0,0);
}
Element [Id=atom (blockade)]//System Folder
{
Background:rgb (99,117,214);
Borderthickness:rect (0RP,0RP,1RP,1RP);
Bordercolor:white;
}
Element [Id=atom (blockadeaccent)]//Split line between main window and side bar
{
Background:gradient (ARGB (0,148,187,255), ARGB (0,99,117,214), 1);
}
Element [Id=atom (blockadeclient)]//System folder background picture
{
Contentalign:bottomright;
Padding:rect (10RP,0RP,0RP,0RP);
}
Element [Id=atom (Blockadetitle)]//title ("These files are hidden")
{
FONTFACE:RCSTR (2);
Fontsize:rcint (PT);
Fontweight:rcint (11);
Foreground:rgb (214,223,245);
Background:argb (0,0,0,0);
Padding:rect (0RP,20RP,10RP,0RP);
Contentalign:wrapleft;
}
Element [Id=atom (Blockademessage)]//title ("This folder contains make your system ...")
{
FONTFACE:RCSTR (2);
Fontsize:rcint () pt;
Fontweight:rcint (12);
Foreground:white;
Background:argb (0,0,0,0);
Padding:rect (1RP,15RP,10RP,0RP);
Contentalign:wrapleft;
}
element [Id=atom (Blockadeclear)]//"Show this folder Contents" General Status
{
Margin:rect (0RP,20RP,0RP,0RP);
}
button [Id=atom (Blockadeclearbutton)][keyfocused]//"Show this folder Contents" keyboard trigger
{
Contentalign:focusrect;
}
Element [Id=atom (Blockadecleartext)]
{
FONTFACE:RCSTR (1);
Fontsize:rcint (PT);
Fontweight:rcint (10);
Foreground:white;
Background:argb (0,0,0,0);
Contentalign:wrapleft;
Padding:rect (3RP,0RP,0RP,0RP);
}
element [Id=atom (Blockadecleartext)][mousefocused]//"Show this folder Contents" Mouse Trigger
{
Cursor:hand;
Fontstyle:underline;
}
</style>
The elements in the following blocks are no longer in the details, features see WHISTL3R's Shellstyle Tutorial
<style resid=mainsectionss>
<style resid=mainsectiontaskss>
<style resid=sectionss>
<style resid=sectiontaskss>
<style resid=taskpane>
<style resid=namespaceiteminfolist>
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.