<?xml version="1.0" encoding="utf-8"?>	
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">

    <channel>
    
    <title>MonkeyStyler Wiki</title>
    <link>http://monkeystyler.com/wiki</link>
    <description>MonkeyStyler Wiki</description>
    <dc:language>en</dc:language>
    <dc:creator>mike@solentsoftware.com</dc:creator>
    <dc:rights>Copyright {current_time format="%Y"}</dc:rights>
    <dc:date>2012-04-27T20:45:37+00:00</dc:date>
    <admin:generatorAgent rdf:resource="http://expressionengine.com/" />
    

    <item>
      <title>Apply Styles</title>
      <link>http://monkeystyler.com/wiki/Apply&#45;Styles</link>
      <guid>http://monkeystyler.com/wiki/Apply&#45;Styles</guid>
      <description><![CDATA[This feature lets you link MonkeyStyler to one or more applications. You can then update the style(s) within that application in a single mouse click. To link an application all you need to is add a couple of supplied units to your software and set a couple of properties.<br />
<br />
The client can update both the default style from the TApplication object and the contents of one or more StyleBook objects stored on your forms (or elsewhere).<br />
<br />
<b>Enabling your application</b><br />
Look in the Redist folder under the MonkeyStyler program folder (C:\Program Files (x86)\MonkeyStyler\Redist) and copy the following files to your project:<br />
Solent.Logging<br />
Solent.DDECommon<br />
Solent.DDEClient<br />
Styler.CommsClient<br />
<br />
Add Styler.CommsClient to the implementations sections uses clause of your main unit.<br />
<br />
In your Create method or FormCreate event handler you need to set up the client. Here is a typical scenario<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">AppName&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #DD0000">'CommsTest'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">AddStyleBook</span><span style="color: #007700">(</span><span style="color: #0000BB">StyleBook1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">StyleFileName</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">DefaultStyleFileName&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #0000BB">DefaultStyleFileName</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">Enabled&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #0000BB">True</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
<br />
We need to give our application a unique name so MonkeyStyler can identify it.<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">AppName&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #DD0000">'CommsTest'</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
<br />
We can add any number of TStyleBook objects which will be updated with a given file when that file is changed. Note that the file name must be a fully qualified path to the file. You can add as many stylebooks as you want, so you can add those for your main form and any child forms if they use a different StyleBook object[1].<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">AddStyleBook</span><span style="color: #007700">(</span><span style="color: #0000BB">StyleBook1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">StyleFileName</span><span style="color: #007700">);&nbsp;</span>
</span>
</code></div><br />
<br />
If you want to be able to update the applications default style file, set the DefaultStyleFileName property:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">DefaultStyleFileName&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #0000BB">DefaultStyleFileName</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
<br />
To initiate the communications we need to set the Enabled property to True. (You probably only want to do this during development. For a redistributable application simply leave Enabled as False to prevent styles being updated by an end user).<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StylerComms</span><span style="color: #007700">.</span><span style="color: #0000BB">Enabled&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #0000BB">True</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
<br />
The order of the above commands is not significant.<br />
<br />
Finally, you can remove a stylebook from the comms object with the RemoveStyleBook method. This is best done in the forms FormDestroy event handler:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StyleComms</span><span style="color: #007700">.</span><span style="color: #0000BB">RemoveStyleBook</span><span style="color: #007700">(</span><span style="color: #0000BB">StyleBook1</span><span style="color: #007700">);&nbsp;</span>
</span>
</code></div><br />
<br />
<b>In MonkeyStyler</b><br />
<br />
To 'apply' a modified style from within MonkeyStyler:<br />
Open and select the file as the current file.<br />
Click the Apply item on the menu bar.<br />
<br />
It may take a moment or two for the style to be reloaded by your application. During that time MonkeyStyler and your application will not be responsive (this delay should be very short on a modern computer).<br />
<br />
It does not matter whether you start MonkeyStyler or your application first.<br />
 <br />
<b>Sample application</b><br />
MonkeyStyler is supplied with a sample application which demonstrates how to create a client application. On a default Windows installation this will be located at C:\Users\Publib\Documents\MonkeyStyler\Samples\Comms<br />
<br />
If you build this you will need to copy the style files to your compilers output folder (e.g. Win32\Debug). The style files are Custom.Style and Default.Style.<br />
<br />
<b>Troubleshooting</b><br />
<br />
If you experience problems:<br />
First check that everything is set up correctly.<br />
Check the filenames are the same within your application and MonkeyStyler (in particular ensure your application uses fully qualified file names).<br />
<br />
If that looks good, look for the log files. There will be one for the client and one or MonkeyStyler:<br />
C:\Users\&lt;Username&gt;\AppData\Roaming\MonkeyStyler\CommsLog.Log<br />
C:\Users\&lt;Username&gt;\AppData\Roaming\MonkeyStyler Client\ClientLog.Log<br />
<br />
You should be able to see any communications errors in these files.<br />
<br />
<b>Footnotes</b><br />
<br />
[1]Personally I like to reuse a single StyleBook object throughout my projects. You can do this in each child forms FormCreate event handler:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StyleBook&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #0000BB">TForm</span><span style="color: #007700">(</span><span style="color: #0000BB">Application</span><span style="color: #007700">.</span><span style="color: #0000BB">MainForm</span><span style="color: #007700">).</span><span style="color: #0000BB">StyleBook</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
You can see this technique in the Comms sample application detailed above.<br />
<br />
<a href="http://monkeystyler.com/wiki/Category:MonkeyStyler" title="Category:MonkeyStyler">Category:MonkeyStyler</a>]]></description>
      <dc:subject>Apply Styles</dc:subject>
      <dc:date>2012-04-27T20:45:37+00:00</dc:date>
    </item>

    <item>
      <title>MonkeyStyler</title>
      <link>http://monkeystyler.com/wiki/MonkeyStyler</link>
      <guid>http://monkeystyler.com/wiki/MonkeyStyler</guid>
      <description><![CDATA[<a href="http://monkeystyler.com/wiki/Apply-Styles" title="Apply-Styles">Apply Styles</a> - one click preview of style changes in a live copy of your application.<br />
<br />
<a href="http://monkeystyler.com/wiki/Category:MonkeyStyler" title="Category:MonkeyStyler">Category:MonkeyStyler</a>]]></description>
      <dc:subject>MonkeyStyler</dc:subject>
      <dc:date>2012-04-27T20:44:17+00:00</dc:date>
    </item>

    <item>
      <title>index</title>
      <link>http://monkeystyler.com/wiki</link>
      <guid>http://monkeystyler.com/wiki</guid>
      <description><![CDATA[Welcome to the MonkeyStyler wiki/docs<br />
<br />
<b>Commercial Products</b><br />
<br />
<a href="http://monkeystyler.com/wiki/MonkeyStyler" title="MonkeyStyler">MonkeyStyler</a><br />
<br />
<b>Free Products</b><br />
<br />
<a href="http://monkeystyler.com/wiki/MonkeyRecolor" title="MonkeyRecolor">MonkeyRecolor</a><br />
<br />
<b>Articles</b><br />
<br />
<a href="http://monkeystyler.com/blog/entry/my-first-firemonkey-custom-control-tbitmapspeedbutton">My First FireMonkey Custom Control: TBitmapSpeedButton</a><br />
<br />
<b>Custom Controls</b><br />
<br />
<a href="http://monkeystyler.com/wiki/TBitmapSpeedButton" title="TBitmapSpeedButton">TBitmapSpeedButton</a>]]></description>
      <dc:subject>index</dc:subject>
      <dc:date>2012-04-27T20:40:38+00:00</dc:date>
    </item>

    <item>
      <title>TBitmapSpeedButton</title>
      <link>http://monkeystyler.com/wiki/TBitmapSpeedButton</link>
      <guid>http://monkeystyler.com/wiki/TBitmapSpeedButton</guid>
      <description><![CDATA[<img src="/blogresources/bitmapspeedbutton.png" alt=""  /><br />
<br />
Parent component: <a href="http://docwiki.embarcadero.com/VCL/XE2/en/FMX.Controls.TSpeedButton">TSpeedButton</a> (at Embarcadero's DocWiki).<br />
<a href="http://monkeystyler.com/blog/entry/my-first-firemonkey-custom-control-tbitmapspeedbutton">How to create this component</a>.<br />
<a href="/blogresources/BitmapSpeedButton.zip">Source files (zip)</a>.<br />
<br />
A speed button, suitable for use on a tool bar etc., which can show a bitmap image. There are properties to adjust the images position and whether text is shown or not.<br />
<br />
<b>Types:</b><br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">TImageAlign&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">iaTop</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">iaLeft</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">iaRight</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">iaBottom</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">iaCenter</span><span style="color: #007700">);&nbsp;</span>
</span>
</code></div><br />
See ImageAlign property.<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">ImageType&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">itBitmap</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">itStyleLookup</span><span style="color: #007700">);&nbsp;</span>
</span>
</code></div><br />
See the ImageType property.<br />
<br />
<br />
<b>Properties:</b><br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;Bitmap</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">TBitmap&nbsp;read&nbsp;FBitmap&nbsp;write&nbsp;FBitmap</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
If ImageType is itBitmap, the bitmap image for the button. Call Bitmap.LoadFromFile to load an image file &#40;in any FireMonkey supported format on your platform&#41;. Note that LoadFromFile doesn't raise an exception if the file is invalid. You have been warned.<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;ImageAlign</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">TImageAlign&nbsp;read&nbsp;FImageAlign&nbsp;write&nbsp;SetImageAlign&nbsp;</span><span style="color: #007700">default&nbsp;</span><span style="color: #0000BB">iaCenter</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
The position of the image in relation to the text. Setting iaCenter doesn't look to good if you also have TextVisible=True<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;ImageHeight</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">Single&nbsp;read&nbsp;FImageHeight&nbsp;write&nbsp;SetImageHeight</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;ImageWidth</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">Single&nbsp;read&nbsp;FImageWidth&nbsp;write&nbsp;SetImageWidth</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
The image size. It will be resized to fit neatly within these dimensions if too large or too small (unless you modify the style). FireMonkey is rather good at image resizing, as long as you don't push it.<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;ImagePadding</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">Single&nbsp;read&nbsp;FImagePadding&nbsp;write&nbsp;SetImagePadding</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
Padding to put around the image. If the ImageAlign = iaTop or iaBottom this value will be applied both above and below the image. For iaLeft and iaRight, it will be applied either side, and for iaCener it will be ignored.<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;ImageStyleLookup</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">String&nbsp;read&nbsp;FImageStyleLookup&nbsp;write&nbsp;SetImageStyleLookup</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
If ImageType is itStyleLookup, this is the style object from which to fetch the bitmap. The object should be of type TImage.<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;ImageType</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">TImageType&nbsp;read&nbsp;FImageType&nbsp;write&nbsp;SetImageType</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
Specifies whether the component should fill it's image from an explicitly stated bitmap (the Bitmap property) or from a style resource (the ImageStyleLookup property). If using a style lookup the object should be of type TImage.<br />
<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">property&nbsp;TextVisible</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">Boolean&nbsp;read&nbsp;FTextVisible&nbsp;write&nbsp;SetTextVisible</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
Whether the text is visible, or whether the control only shows the image. If you are only showing the image you'll probably want to set ImageAlign=iaCenter. Note that the default is false.<br />
<br />
<a href="http://monkeystyler.com/wiki/Category:Custom-Controls" title="Category:Custom-Controls">Category:Custom Controls</a>]]></description>
      <dc:subject>TBitmapSpeedButton</dc:subject>
      <dc:date>2012-01-26T09:15:37+00:00</dc:date>
    </item>

    <item>
      <title>Recolor History</title>
      <link>http://monkeystyler.com/wiki/Recolor&#45;History</link>
      <guid>http://monkeystyler.com/wiki/Recolor&#45;History</guid>
      <description><![CDATA[<b>8 Jan '12</b><br />
<br />
Initial release.<br />
<br />
<a href="http://monkeystyler.com/wiki/Category:MonkeyRecolor" title="Category:MonkeyRecolor">Category:MonkeyRecolor</a>]]></description>
      <dc:subject>Recolor History</dc:subject>
      <dc:date>2012-01-08T23:02:05+00:00</dc:date>
    </item>

    <item>
      <title>Recolor Folders</title>
      <link>http://monkeystyler.com/wiki/Recolor&#45;Folders</link>
      <guid>http://monkeystyler.com/wiki/Recolor&#45;Folders</guid>
      <description><![CDATA[The following install locations are used by MonkeyRecolor:<br />
<br />
<b>&#123;Programs Files&#125;/MonkeyRecolor</b><br />
<br />
The demo application, license and uninstall files.<br />
<br />
<b>&#123;user&#125;/Documents/MonkeyRecolor</b><br />
<br />
<a href="http://monkeystyler.com/wiki/Colors-config-file" title="Colors-config-file">Colors config file</a>.<br />
<br />
<b>C:/Users/Public/Public Documents/MonkeyRecolor</b><br />
<br />
Source code for both MonkeyRecolor and the demo application.<br />
<br />
The MonkeyRecolor specific files are:<br />
Solent.Recolor.pas<br />
Solent.Recolor.fmx<br />
Solent.DoColors.pas<br />
<br />
<a href="http://monkeystyler.com/wiki/Category:MonkeyRecolor" title="Category:MonkeyRecolor">Category:MonkeyRecolor</a>]]></description>
      <dc:subject>Recolor Folders</dc:subject>
      <dc:date>2012-01-08T15:01:45+00:00</dc:date>
    </item>

    <item>
      <title>MonkeyRecolor</title>
      <link>http://monkeystyler.com/wiki/MonkeyRecolor</link>
      <guid>http://monkeystyler.com/wiki/MonkeyRecolor</guid>
      <description><![CDATA[See <a href="http://monkeystyler.com/wiki/Recolor-Folders" title="Recolor-Folders">Recolor Folders</a> for details of what is installed where.<br />
<br />
See <a href="http://monkeystyler.com/wiki/Recolor-History" title="Recolor-History">Recolor History</a> for the revision history.<br />
<br />
MonkeyRecolor is an easy way to radically change the color scheme of any FireMonkey style. It gives you a number of controls for selecting colors for various part of a style and a single button to apply the changes. See <a href="http://monkeystyler.com/wiki/MonkeyRecolor-Controls" title="MonkeyRecolor-Controls">MonkeyRecolor Controls</a>. If you are new to HSL color schemes and selecting colors see <a href="http://monkeystyler.com/wiki/Tips-for-Selecting-MonkeyRecolor-Colors" title="Tips-for-Selecting-MonkeyRecolor-Colors">Tips for Selecting MonkeyRecolor Colors</a>.<br />
<br />
FireMonkey applications can contain both default styles and custom styles. See <a href="http://monkeystyler.com/wiki/FireMonkey-Styles-and-MonkeyRecolor" title="FireMonkey-Styles-and-MonkeyRecolor">FireMonkey Styles and MonkeyRecolor</a> for more on what these are and how MonkeyRecolor can modify them.<br />
<br />
The color changes respect subtle (and not so subtle) variations in colors and hues in the original style. Eg. a control which varies from light to dark red in the original style will vary from (say) light to dark blue in the revised style. A control which is brighter or darker than others will still be brighter or darker.<br />
<br />
MonkeyRecolor is a Delphi form which you can attach to your application. Set up a button or menu item to call it and the Recolor button will give a near instant view of your new style. See <a href="http://monkeystyler.com/wiki/MonkeyRecolor-Integration" title="MonkeyRecolor-Integration">MonkeyRecolor Integration</a>.<br />
<br />
The download also includes a demonstration executable which you can use straight away to load, modify and save styles. You can find the demo on the start menu under MonkeyRecolor Demo. Once the application is running, use the menu item File/MonkeyRecolor to open the MonkeyRecolor window.<br />
<br />
A set of MonkeyRecolor color settings is called a scheme, and schemes can also be saved and reloaded - the the File and Scheme menus in MonkeyRecolor.<br />
<br />
A file called the <a href="http://monkeystyler.com/wiki/Colors-config-file" title="Colors-config-file">Colors config file</a> defines how the scheme is applied to a style. This file can be edited to customise your styles even further.<br />
<br />
See <a href="http://monkeystyler.com/wiki/Using-styles" title="Using-styles">Using styles</a> to see how to add customised styles to your applications.<br />
<br />
<a href="http://monkeystyler.com/wiki/Category:MonkeyRecolor" title="Category:MonkeyRecolor">Category:MonkeyRecolor</a><br />
]]></description>
      <dc:subject>MonkeyRecolor</dc:subject>
      <dc:date>2012-01-08T14:54:06+00:00</dc:date>
    </item>

    <item>
      <title>Using styles</title>
      <link>http://monkeystyler.com/wiki/Using&#45;styles</link>
      <guid>http://monkeystyler.com/wiki/Using&#45;styles</guid>
      <description><![CDATA[<b>Default Styles</b><br />
<br />
To load default styles from a file set Application.StyleFileName:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">Application</span><span style="color: #007700">.</span><span style="color: #0000BB">StyleFileName&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #DD0000">'C:\MyStyle.style'</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
<br />
<b>Custom Styles</b><br />
<br />
Custom styles can again be loaded from a file, this time by setting the stylebooks FileName property.<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">StyleBook1</span><span style="color: #007700">.</span><span style="color: #0000BB">FileName&nbsp;</span><span style="color: #007700">:=</span><span style="color: #DD0000">'C:\MyStyle.style'</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div>]]></description>
      <dc:subject>Using styles</dc:subject>
      <dc:date>2012-01-04T21:19:02+00:00</dc:date>
    </item>

    <item>
      <title>Colors config file</title>
      <link>http://monkeystyler.com/wiki/Colors&#45;config&#45;file</link>
      <guid>http://monkeystyler.com/wiki/Colors&#45;config&#45;file</guid>
      <description><![CDATA[The colors config file is a text file which tells MonkeyRecolor how to apply it's color settings to the style. You will find the default version installed in &#123;AppData&#125;/MonkeyRecolor with the name colors.txt. Use the Load item on the Colors menu to use a different file.<br />
<br />
Each line takes the form<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#91;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">Path</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#93;&#91;</span><span style="color: #007700">/&lt;Class&gt;</span><span style="color: #0000BB">&#93;&#91;</span><span style="color: #007700">$&lt;</span><span style="color: #0000BB">Trigger</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#93;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#91;</span><span style="color: #007700">!</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">value</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#91;</span><span style="color: #007700">,</span><span style="color: #0000BB">&#91;</span><span style="color: #007700">!</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">value2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#93;&nbsp;</span>
</span>
</code></div><br />
Examples include:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">backgroundstyle&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">background<br />checkboxstyle</span><span style="color: #007700">.</span><span style="color: #0000BB">background</span><span style="color: #007700">/</span><span style="color: #0000BB">TColorAnimation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">lowlights</span><span style="color: #007700">,</span><span style="color: #0000BB">highlights<br />checkboxstyle</span><span style="color: #007700">.</span><span style="color: #0000BB">background</span><span style="color: #007700">.</span><span style="color: #0000BB">checkmark&nbsp;</span><span style="color: #007700">=&nbsp;!</span><span style="color: #0000BB">highlights<br />speedbuttonstyle</span><span style="color: #007700">.</span><span style="color: #0000BB">background</span><span style="color: #007700">/</span><span style="color: #0000BB">TColorAnimation$IsMouseOver</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">3D</span><span style="color: #007700">;</span><span style="color: #FF8000">#;IsPressed&amp;3Dfalse;&nbsp;=&nbsp;lowlights,highlights<br /></span><span style="color: #007700">.</span><span style="color: #0000BB">selection&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">selection<br /></span><span style="color: #007700">/</span><span style="color: #0000BB">TGlowEffect&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">gloweffect&nbsp;</span>
</span>
</code></div><br />
The left hand side specifies which component to apply changes to. The right hand side is the color or colors to apply. All child components of the specified component will also be given the same color(s) settings. The file is processed in order from top to bottom and any later settings will overwrite conflicting settings higher in the file. In other words, make general settings (eg. for the whole style) first and specify settings for child components later.<br />
<br />
<b>Component Specifiers</b><br />
<br />
<em>Path</em> is the path to the object, separated by periods, where each path item is the style components StyleName property. If no StyleName is given for a component, then no entry will be made in the path for that component. E.g. if 'buttonstyle' has a child with no StyleName, which has a child called text then the path will be 'buttonstyle.text'.<br />
<br />
A path which starts with a period applies to any component whose path ends thus. I.e. '.text' applies to 'button.text' and 'label.text' etc.<br />
<br />
Sometimes you need to specify a component which hasn't been assigned a StyleName. If so, you can usually get around this with the <em>Class</em> item. The class is the components class (eg. TColorAnimation preceded by a forward slash.<br />
<br />
This example:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">checkboxstyle</span><span style="color: #007700">.</span><span style="color: #0000BB">background</span><span style="color: #007700">/</span><span style="color: #0000BB">TColorAnimation&nbsp;</span>
</span>
</code></div><br />
modifies any TColorAnimation components which are under the checkboxstyles background. Animations are often paired, one to 'switch on' a color change and one to 'switch' it off again. MonkeyRecolor is smart enough to know which is which and make the color changes correctly.<br />
<br />
If the class is specified, the path can be left out and all components of that class will be modified. The following line:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">/</span><span style="color: #0000BB">TGlowEffect&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">gloweffect&nbsp;</span>
</span>
</code></div><br />
uses this to modify every TGlowEffect in the file.<br />
<br />
Some components have multiple color animations to turn on and off different effects. <em>Trigger</em> can be used to distinguish them. It is used only for TColorAnimation objects. Only objects with a matching Trigger property will be affected. A # character in the Trigger phrase will be replaced with either true or false for matching purposes, i.e. to identify which animation turns the animation on and which turns it off (see Class above for more on this).<br />
<br />
To 'quote' characters which would otherwise screw up parsing of the line, use the &xx; format, where xx is the hex code of the character to be inserted. (Currently this means = characters which would become &3D;)<br />
<br />
An example:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">speedbuttonstyle</span><span style="color: #007700">.</span><span style="color: #0000BB">background</span><span style="color: #007700">/</span><span style="color: #0000BB">TColorAnimation$IsMouseOver</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">3D</span><span style="color: #007700">;</span><span style="color: #FF8000">#;IsPressed&amp;3Dfalse;&nbsp;=&nbsp;lowlights,highlights&nbsp;</span>
</span>
</code></div><br />
The trigger is converted to:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">IsMouseOver</span><span style="color: #007700">=</span><span style="color: #FF8000">#;IsPressed=false&nbsp;</span>
</span>
</code></div><br />
which matches the TColorAnimations whose trigger properties are:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">IsMouseOver</span><span style="color: #007700">=</span><span style="color: #0000BB">true</span><span style="color: #007700">;</span><span style="color: #0000BB">IsPressed</span><span style="color: #007700">=</span><span style="color: #0000BB">false&nbsp;</span>
</span>
</code></div><br />
and<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">IsMouseOver</span><span style="color: #007700">=</span><span style="color: #0000BB">false</span><span style="color: #007700">;</span><span style="color: #0000BB">IsPressed</span><span style="color: #007700">=</span><span style="color: #0000BB">false&nbsp;</span>
</span>
</code></div><br />
<br />
Again, MonkeyRecolor is smart enough to know which is the on and which the off component and modify their colors appropriately.<br />
<br />
<b>Value specifiers</b><br />
<br />
Value is the value to apply: (See <a href="http://monkeystyler.com/wiki/MonkeyRecolor-Controls" title="MonkeyRecolor-Controls">MonkeyRecolor Controls</a> for more details).<br />
<br />
background: background color<br />
lowlights: usually similar to the background color but slightly highlighted, eg. backgrounds of scroll bars, combos, etc.<br />
highlights: use the first secondary color<br />
althighlights: use the second background color<br />
selection: selected text of edits, lists, memos etc.<br />
gloweffect: gloweffect color.<br />
<br />
Values are normally calculated relative to original colors and target color, to set an absolute value, prefix the value with a !, e.g.<br />
[codecheckboxstyle.background.checkmark = !highlights</code><br />
<br />
Two values can be given for TColorAnimations. If given, the first will be used for the normal (false) state, and the second for the true state, e.g.<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">checkboxstyle</span><span style="color: #007700">.</span><span style="color: #0000BB">background</span><span style="color: #007700">/</span><span style="color: #0000BB">TColorAnimation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">lowlights</span><span style="color: #007700">,</span><span style="color: #0000BB">highlights&nbsp;</span>
</span>
</code></div><br />
<br />
<b>General</b><br />
<br />
All paths, classes, triggers and values are case insensitive<br />
<br />
Use the word<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">end&nbsp;</span>
</span>
</code></div><br />
on a line on it's own to stop parsing this file early - useful for testing<br />
<br />
To add a comment, start the line the a semicolon:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">;</span><span style="color: #0000BB">This&nbsp;will&nbsp;be&nbsp;ignored&nbsp;</span>
</span>
</code></div><br />
<br />
<a href="http://monkeystyler.com/wiki/Category:MonkeyRecolor" title="Category:MonkeyRecolor">Category:MonkeyRecolor</a>]]></description>
      <dc:subject>Colors config file</dc:subject>
      <dc:date>2011-12-06T20:31:24+00:00</dc:date>
    </item>

    <item>
      <title>MonkeyRecolor Integration</title>
      <link>http://monkeystyler.com/wiki/MonkeyRecolor&#45;Integration</link>
      <guid>http://monkeystyler.com/wiki/MonkeyRecolor&#45;Integration</guid>
      <description><![CDATA[MonkeyRecolor comes as two units, Solent.Recolor which contains the form and Solent.DoColors which does the processing.<br />
<br />
1) After installing the download, find the folder containing the forms and add the folder name to Delphi's search path. You can find the files installed under Common Files/MonkeyRecolor, or find the MonkeyRecolor Source item under the start menu.<br />
<br />
2) Open your forms project file &#40;Project/View Source within Delphi&#41;;.<br />
<br />
3) Add the following to the uses list: <br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">Solent</span><span style="color: #007700">.</span><span style="color: #0000BB">Colors&nbsp;in&nbsp;</span><span style="color: #DD0000">'Solent.Colors.pas'&nbsp;</span><span style="color: #0000BB">&#123;ColorsForm&#125;</span><span style="color: #007700">,&nbsp;</span>
</span>
</code></div><br />
4) And between Application.Initialize and Application.Run:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">Application</span><span style="color: #007700">.</span><span style="color: #0000BB">CreateForm</span><span style="color: #007700">(</span><span style="color: #0000BB">TColorsForm</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ColorsForm</span><span style="color: #007700">);&nbsp;</span>
</span>
</code></div><br />
5) Add Solent.Recolor to the uses list of the form you want to recolor.<br />
<br />
6) Create a button or menu item for MonkeyRecolor, open it's OnClick event and add the following:<br />
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">ColorsForm</span><span style="color: #007700">.</span><span style="color: #0000BB">Form&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #0000BB">Self</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">ColorsForm</span><span style="color: #007700">.</span><span style="color: #0000BB">StyleBook&nbsp;</span><span style="color: #007700">:=&nbsp;</span><span style="color: #0000BB">StyleBook1</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">ColorsForm</span><span style="color: #007700">.</span><span style="color: #0000BB">Show</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div><br />
7) Compile, run and enjoy...<br />
<br />
<br />
The properties you are setting in step 6 are:<br />
<em>Form</em> is the form whose colors will be updated by ColorsForm. (You will need to update you application to load the final style files - <a href="http://monkeystyler.com/wiki/Using-styles" title="Using-styles">Using styles</a>.<br />
<em>StyleBook</em> is a TStyleBook which can, optionally, also be recolored. (See <a href="http://monkeystyler.com/wiki/FireMonkey-Styles-and-MonkeyRecolor" title="FireMonkey-Styles-and-MonkeyRecolor">FireMonkey Styles and MonkeyRecolor</a>) for more.]]></description>
      <dc:subject>MonkeyRecolor Integration</dc:subject>
      <dc:date>2011-12-06T20:29:51+00:00</dc:date>
    </item>

    
    </channel>
</rss>
