Page 1 of 1

Make your own .msstyles theme manually Takes a bit of work, but it's worth it. Rate Topic: -----

#1 jacobjordan  Icon User is offline

  • class Me : Perfection
  • member icon

Reputation: 113
  • View blog
  • Posts: 1,499
  • Joined: 11-June 08

Posted 14 July 2008 - 01:05 PM

I have done this on XP, so i am not sure if it will work on Vista. Before you read any further, this tutorial requires Resource Hacker (every programmer should have it in my book). That is a free program which can modify the resources of executable and libraries, which is exactly what you will be doing in this tutorial. You also need an image editor like Paint Shop Pro or Photoshop, but if it really comes down to it, Paint will do just fine. Now, open resource hacker, and go to File->Open. Set the filter to All Files, and open an existing .msstyles file (they are stored in the WINDOWS\Resources\Themes\ folder). Make it either a copy of one you like, or one you don't care about, because you will be radically changing it. The first thing you will see when you open it is that the tree view on the right of resource hacker fills with items. Each of those items represents a category of resources stored in the .msstyles theme. This is a list of all the items you should see:

COLORNAMES
COMBODATA
FILERESNAMES
MINDEPTH
ORIGFILENAMES
PACKTHEM_VERSION
SIZENAMES
TEXTFILES
Bitmap
String Table
Version Info

That list may vary depending on what theme you open. However, one item will always be in any of them, and that is the only one you need to be concerned with. It is called Bitmap, which holds all the bitmap data stored in the theme. Expand that node, and you will see that the tree view floods with 100+ items. You will see that each of the names of those items is in the format

STYLENAME_BITMAPNAME_BMP

The STYLENAME part represents the name of the color theme that bitmap is used in. The BITMAPNAME item represents what item that bitmap represents. For example, the item that represents the standard 13x13 check box is called CHECKBOX13. The _BMP extension on the end is just there, and doesn't mean a thing. So, in XP's default Luna theme, with the Blue color theme, the name of the 13x13 check box is called BLUE_CHECKBOX13_BMP. Expand that item and select the one item under it. You should see something like this:

Attached Image

As you can see, that pic represents all the possible phases the check box can be in. Replace that bitmap with one in the same format, and you can make it look like anything you want. To replace a resource, select the resource you wish to change, right-click on it and select Replace Resource.... A box should show. Click Open file with new bitmap..., and it should be straight forward from there.

That's how to modify themes. You already know that the default check box bitmap is named CHECKBOX13. Here is a list of other common controls and their names:

Button Control - BUTTON
13x13 Radio Button - RADIOBUTTON13
Group Box - GROUPBOX
Taskbar Tray - TASKBARTRAY and TASKBARTRAYVERTICAL
Toolbar Background - TOOLBARBACKGROUND
Trackbar Slider - TRACKBARDOWN13 and TRACKBARHORIZONTAL and TRACKBARUP13
TreeView Expand/Collapse Button - TREEXPANDCOLLAPSE
Taskbar - TASKBARBACKGROUND and TASKBARBACKGROUNDVERTICAL

Some coltrols may have more than one bitmap that make them up. Example, the combobox button control is made up of two bitmaps, one that represents the background and one that represents the arrows

Button:Attached ImageArrows:Attached Image

I wish i could explain a bit more, but the layout of the msstyles file varies greatly from theme to theme. Play around a bit in Resource Hacker, and it shouldn't be hard to figure out what pictures represent what. Once you know what they do, you can change them to whatever you want! Just imaging what you could do!

Is This A Good Question/Topic? 1
  • +

Replies To: Make your own .msstyles theme manually

#2 zombie_man_zack  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 13-January 10

Posted 13 January 2010 - 06:41 PM

well yoou also have to edit the string tables which contain the visual style name, and the way you the visual style reads the bitmaps I mean if you want to change the name of the bitmap file. if you want to change the name, but don't do that it will rename all the files to 0 and it won't open it because it can't find the file! if you want a theme you can automatically just click on I recommend using Luna.msstyle because it is microsoft signed just don't change the version info. this will allow you to create a theme you can use without patching your system. If you want to delete themes there are many things you need to delete from the msstyle, but before editing I advise you to create a backup of the theme.
files that need to be deleted or edited:
string tables>delete the name and all variations of the theme from the visual style
string tables>delete any empty string tables
bitmaps>the bitmaps for that style
text files>for that visual style
[:::then it should work:::]
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::it works in Vista nut it shows as raw text not bitmap files to get the png file (since reshacker is unable to view them) save the bin as a .png file then open it from where you saved it from:]

This post has been edited by zombie_man_zack: 13 January 2010 - 07:06 PM

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1