<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.srpcs.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>SRP Product News</title>
 <link>http://www.srpcs.com/product_news</link>
 <description>Syndicated news articles related to new products.</description>
 <language>en</language>
<item>
 <title>SRP Utilities Update, Version 1.3</title>
 <link>http://www.srpcs.com/product_news/SRP_Utilities_Update_Version_1.3</link>
 <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/Taskbar_Group_Renamed.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;433&quot; height=&quot;48&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Once again SRP delivers features that OpenInsight developers can really use. We begin by addressing what amounts to be a branding and marketing problem for software products based upon OpenInsight. The issue occurs when Windows groups icons in the taskbar. Once this occurs, the button&#039;s title becomes &quot;oinsight&quot;, even if the application was using the &lt;A HREF=&quot;http://isupport.srpcs.com/Downloads/SRP_Application_Launcher_Install.exe&quot;&gt;SRP Application Launcher utility&lt;/A&gt;. This is undesirable for commercial products since users usually have no idea what &quot;oinsight&quot; is. With the new &lt;b&gt;SRP_Taskbar&lt;/b&gt; method we can alter the group button text to be anything we wish, thus preserving a software product&#039;s essential branding.&lt;/p&gt;&lt;!--break--&gt;

&lt;p&gt;It&#039;s important to note that setting the taskbar group title only works in Windows Vista and earlier. Windows 7 uses an entirely different protocol for it&#039;s taskbar, and a solution is in the works. Look for it in the 1.3.1 release.&lt;/p&gt;

&lt;p&gt;Also new to this version of SRP Utilities is the &lt;b&gt;SRP_TcpClient&lt;/b&gt; method. It creates a TCP/IP connection to a running server and sends data. It&#039;s very low level and designed for those that have no other API to access a server. We have plans to augment the method with server-specific functions to simplify use. For example, SRP_TcpClient has special commands for communication with the &lt;b&gt;SRP Engine Service&lt;/b&gt;. Likewise, we would like to add support for the OEngineServer and other TCP/IP protocols.&lt;/p&gt;

&lt;p&gt;Lastly, we&#039;ve improved both &lt;b&gt;SRP_Join_Arrays&lt;/b&gt; and &lt;b&gt;SRP_Sort_Array&lt;/b&gt;. SRP_Join_Array now supports two more merge options: NOT and XOR. The NOT operation keeps everything in the first list that doesn&#039;t appear in the second list. The XOR operation returns all items that appear in one list or the other, but not both. Combined with the existing operations (AND and OR), this should cover all the ways in which you might want to combine a list of keys. SRP_Sort_Array has been improved in the way it performs right-aligned sorting. Originally, it would convert the column into floating point numbers and compare, but this would not work with data that had alphabetic characters. For example, it wouldn&#039;t correctly sort &quot;Box 1&quot;, &quot;Box 2&quot;, ... &quot;Box 10&quot;. SRP_Sort_Array now performs true right-aligned sorting in the event that it cannot convert the data into binary floating point numbers. 

&lt;p&gt;If you are currently using version 1.2.3 or earlier, we highly recommend upgrading. Both existing users and those that wish to try this free utility can download the latest version of SRP Utilities from &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_Utilities_Install.exe&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <comments>http://www.srpcs.com/product_news/SRP_Utilities_Update_Version_1.3#comments</comments>
 <category domain="http://www.srpcs.com/taxonomy/term/93">Company Information</category>
 <category domain="http://www.srpcs.com/taxonomy/term/228">SRP Utilities</category>
 <category domain="http://www.srpcs.com/taxonomy/term/232">SRP_Join_Arrays</category>
 <category domain="http://www.srpcs.com/taxonomy/term/233">SRP_Sort_Array</category>
 <category domain="http://www.srpcs.com/taxonomy/term/230">SRP_Taskbar</category>
 <category domain="http://www.srpcs.com/taxonomy/term/231">SRP_TcpClient</category>
 <category domain="http://www.srpcs.com/taxonomy/term/229">Taskbar</category>
 <pubDate>Tue, 06 Jul 2010 13:43:41 -0500</pubDate>
 <dc:creator>Kevin Fournier</dc:creator>
 <guid isPermaLink="false">339 at http://www.srpcs.com</guid>
</item>
<item>
 <title>SRP Editor Update, Version 2.3.5 &amp; 2.3.6</title>
 <link>http://www.srpcs.com/product_news/SRP_Editor_Update_Version_2.3.5_and_2.3.6</link>
 <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRP_Editor_TCL_Tab.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;507&quot; height=&quot;259&quot; /&gt;&lt;/span&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;The SRP Editor saw a new update last week, another minor fix to the code formatter, resulting in version 2.3.5. However, before we could get around to announcing it, we made a much needed improvement to the SRP Editor&#039;s command line.&lt;/p&gt;

&lt;p&gt;Our command line has always suffered when it comes to executing built-in routines. To give you some background, when you run any routine, the SRP Editor command line opens the routine&#039;s object code and determines how many parameters the routine expects. If you pass too few parameters, the SRP Editor passes null values for all the missing parameters to avoid potential VNAV errors. This, of course, only works for routines that exist in object code and list their parameters. For all other routines, the SRP Editor command line just sends the parameters you provide.&lt;/p&gt;

&lt;p&gt;This becomes a headache when using common built-in routines such as COPY_ROW. COPY_ROW hates missing parameters, and you&#039;ll get a VNAV error if you forget even one. If permitted, we&#039;d like to appeal to the old saying, &quot;Better late than never.&quot;&lt;/p&gt;

&lt;p&gt;The SRP Editor 2.3.6 now ships with a default list of routines and their parameter counts. You can browse or modify this list in the new TCL tab of the Options dialog. Don&#039;t worry about modifying the list, the SRP Editor will never overwrite your changes. Most users will not really need this as the most important built-in routines are already there, including COPY_ROW.&lt;/p&gt;

&lt;p&gt;SRP Editor 2.3.6 is now available to download from &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_Editor_Install.exe&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;!--break--&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <comments>http://www.srpcs.com/product_news/SRP_Editor_Update_Version_2.3.5_and_2.3.6#comments</comments>
 <category domain="http://www.srpcs.com/taxonomy/term/93">Company Information</category>
 <category domain="http://www.srpcs.com/taxonomy/term/139">Editor</category>
 <category domain="http://www.srpcs.com/taxonomy/term/172">Formatting</category>
 <category domain="http://www.srpcs.com/taxonomy/term/210">History</category>
 <category domain="http://www.srpcs.com/taxonomy/term/133">SRP</category>
 <category domain="http://www.srpcs.com/taxonomy/term/211">TCL</category>
 <pubDate>Mon, 25 Jan 2010 12:31:30 -0600</pubDate>
 <dc:creator>Kevin Fournier</dc:creator>
 <guid isPermaLink="false">332 at http://www.srpcs.com</guid>
</item>
<item>
 <title>SRP Editor Update, Version 2.3.4</title>
 <link>http://www.srpcs.com/product_news/SRP_Editor_Update_Version_2.3.4</link>
 <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRPEditorForInComment.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;407&quot; height=&quot;52&quot; /&gt;&lt;/span&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&#039;Tis the season for...SRP Editor updates. One of our customers has a knack for finding issues with our code formatter. In this most recent scenario, it appears that our formatting logic was failing to ignore a &quot;for&quot; statement when it was located within a commented line. As a result the remaining code was being improperly intended. SRP Editor 2.3.4 has addressed this and is now available to download from &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_Editor_Install.exe&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;!--break--&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <comments>http://www.srpcs.com/product_news/SRP_Editor_Update_Version_2.3.4#comments</comments>
 <category domain="http://www.srpcs.com/taxonomy/term/129">Product News</category>
 <category domain="http://www.srpcs.com/taxonomy/term/139">Editor</category>
 <category domain="http://www.srpcs.com/taxonomy/term/172">Formatting</category>
 <category domain="http://www.srpcs.com/taxonomy/term/210">History</category>
 <category domain="http://www.srpcs.com/taxonomy/term/133">SRP</category>
 <pubDate>Mon, 14 Dec 2009 02:18:46 -0600</pubDate>
 <dc:creator>Don Bakke</dc:creator>
 <guid isPermaLink="false">331 at http://www.srpcs.com</guid>
</item>
<item>
 <title>SRP Editor Update, Version 2.3.3</title>
 <link>http://www.srpcs.com/product_news/SRP_Editor_Update_Version_2.3.3</link>
 <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRPEditorRuntimeError.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;478&quot; height=&quot;185&quot; /&gt;&lt;/span&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;We recently received a report that the SRP Editor would produce the above error message when attempting to close a record with unsaved changes. When we looked at the code we discovered that this issue would only happen when the &lt;b&gt;Window -&gt; Close All&lt;/b&gt; menu option was selected.&lt;/p&gt;

&lt;p&gt;The fix required less effort than creating a new install. Nevertheless, we dislike problems with our products no matter how trivial they are. Therefore we have fixed this in SRP Editor 2.3.3 and posted it &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_Editor_Install.exe&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;!--break--&gt;

&lt;p&gt;As an added bonus, here is a little known tip that you might be interested in: from the SRP Editor use &lt;b&gt;Shift-F7&lt;/b&gt; to bring up the Viewer display (unless it is already visible then skip this step.) Then enter &lt;b&gt;history&lt;/b&gt; in the Command Line. This will give you the change log for the SRP Editor broken down by version number:&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRPEditorHistory.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;315&quot; height=&quot;370&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <comments>http://www.srpcs.com/product_news/SRP_Editor_Update_Version_2.3.3#comments</comments>
 <category domain="http://www.srpcs.com/taxonomy/term/129">Product News</category>
 <category domain="http://www.srpcs.com/taxonomy/term/139">Editor</category>
 <category domain="http://www.srpcs.com/taxonomy/term/210">History</category>
 <category domain="http://www.srpcs.com/taxonomy/term/133">SRP</category>
 <category domain="http://www.srpcs.com/taxonomy/term/209">Viewer</category>
 <category domain="http://www.srpcs.com/taxonomy/term/208">VNAV</category>
 <pubDate>Tue, 01 Dec 2009 20:36:10 -0600</pubDate>
 <dc:creator>Don Bakke</dc:creator>
 <guid isPermaLink="false">329 at http://www.srpcs.com</guid>
</item>
<item>
 <title>SRP Utilities Update, Version 1.2.3</title>
 <link>http://www.srpcs.com/product_news/SRP_Utilities_Update_Version_1.2.3</link>
 <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRP_Join_Arrays.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-img_assist_custom&quot; width=&quot;443&quot; height=&quot;262&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;SRP Utilities has been enhanced yet again with SRP_Join_Arrays. This function is useful for those of you that implement your own cross references. On several occasions, the developers at SRP Computer Solutions, Inc. have found themselves with two lists of keys they would like to merge. Sometimes, they need to get the keys that appear in both lists: an intersection. Other times, they need to merge both lists together without duplications: a union. SRP_Join_Arrays can do this for you at top speeds.&lt;/p&gt;

&lt;p&gt;This version of SRP Utilities also contains a bug fix. SRP_Clean_Array has a TRIM option that--per the documentation--is supposed to remove only trailing blank elements from the array. This was not happening. Instead, it was removing all blanks in the array. This error has been corrected.

&lt;p&gt;If you are currently using version 1.2.2 or earlier, we highly recommend upgrading. Both existing users and those that wish to try this free utility can download the latest version of SRP Utilities from &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_Utilities_Install.exe&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;!--break--&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <comments>http://www.srpcs.com/product_news/SRP_Utilities_Update_Version_1.2.3#comments</comments>
 <category domain="http://www.srpcs.com/taxonomy/term/93">Company Information</category>
 <category domain="http://www.srpcs.com/taxonomy/term/205">Arrays</category>
 <category domain="http://www.srpcs.com/taxonomy/term/207">Clean</category>
 <category domain="http://www.srpcs.com/taxonomy/term/204">Join</category>
 <category domain="http://www.srpcs.com/taxonomy/term/133">SRP</category>
 <category domain="http://www.srpcs.com/taxonomy/term/206">TRIM</category>
 <category domain="http://www.srpcs.com/taxonomy/term/134">Utilities</category>
 <pubDate>Mon, 09 Nov 2009 16:06:45 -0600</pubDate>
 <dc:creator>Kevin Fournier</dc:creator>
 <guid isPermaLink="false">325 at http://www.srpcs.com</guid>
</item>
<item>
 <title>Did You Know - Managing RDKs from the SRP Editor</title>
 <link>http://www.srpcs.com/product_news/Managing_RDKs_from_the_SRP_Editor</link>
 <description>&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Like most developers, the programmers at SRP Computer Solutions, Inc. love making tools that simplify complex tasks and make us more productive. With so many tools, it was only a matter of time before we created a tool to help manage our tools, specifically, the deployment of our tools.&lt;/p&gt;

&lt;p&gt;Repository Deployment Kits (RDKs) are the means by which we deploy our tools such as SRP Editor, SRP Utilities, etc. As such, we found ourselves expending a lot of time and effort on just the RDK management. Maintaining RDKs requires several steps and a separate tool. Since we spend so much time in the SRP Editor, it seemed natural to enhance the SRP Editor with time saving RDK tools. This thought process led to the &amp;quot;Add to RDK&amp;quot; menu and the RDK command.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Add to RDK&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The &amp;quot;Add to RDK&amp;quot; tool is accessed via the Tools menu or by pressing F6.&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/Add_To_Rdk_Menu_0.png&quot; class=&quot;image image-_original&quot; height=&quot;183&quot; width=&quot;437&quot; /&gt;&lt;/span&gt;&lt;p /&gt;&lt;!--break--&gt;

&lt;p&gt;Doing so opens the &amp;quot;Add to Repository&amp;quot; dialog.&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/Add_To_Rdk_Dialog.png&quot; class=&quot;image image-_original&quot; height=&quot;404&quot; width=&quot;526&quot; /&gt;&lt;/span&gt;&lt;p /&gt;

&lt;p&gt;The purpose of this tool is to make it simple to add or remove a stored procedure to an existing Repository View. The process looks like this:&lt;/p&gt;

&lt;div class=&quot;indent&quot;&gt;&lt;ol&gt;&lt;li&gt;Open a Stored Procedure&lt;/li&gt;
&lt;li&gt;Press F6 or choose the Tools -&amp;gt; Add to RDK menu&lt;/li&gt;
&lt;li&gt;Use the check boxes to add/remove the active Stored Procedure to/from an RDK&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;In the screenshot above, you&#039;ll notice three check box columns. This allows you to specify which parts of the Stored Procedure are included in the RDK: Source, Debug, and Object. The screenshot shows a good example of this. Each of our tools has two RDK&#039;s, one that includes all source code, in case we need to deploy the source code to another environment for testing, and one without source code, which we deploy to the end users. Anytime I add a new stored procedure to a toolset, such as our SRP Utilities, I can quickly add it to the appropriate RDKs in just a couple easy steps.&lt;/p&gt;

&lt;p&gt;You can also use this tool for Inserts:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/Add_To_Rdk_Dialog_Insert.png&quot; class=&quot;image image-_original&quot; height=&quot;404&quot; width=&quot;526&quot; /&gt;&lt;/span&gt;&lt;p /&gt;

&lt;p&gt;Notice there is only one column, since there is no concept of object/debug code for inserts. You can also use the &amp;quot;Add to RDK&amp;quot; tool for Records:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/Add_To_Rdk_Dialog_Record.png&quot; class=&quot;image image-_original&quot; height=&quot;404&quot; width=&quot;526&quot; /&gt;&lt;/span&gt;&lt;p /&gt;

&lt;p&gt;Like inserts, there is only check box column. A record is either added to the RDK or it is not. Note that any records will be added to the repository view as an APPROW entity. We have plans to make this smarter in the future, but for now, if you need to add a popup, message box, or form to the RDK, you need to use the RDK tool built into OpenInsight.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;RDK Command&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The RDK command simplifies the process of exporting RDKs. Those familiar with OpenInsight&#039;s RDK tool have likely encountered the caveats involved in exporting an RDK to a folder. For example, the folder must already exist and be empty. The RDK command eliminates these quirks and provides a very powerful additional feature. First, let&#039;s look at the command line syntax:&lt;/p&gt;

&lt;div class=&quot;indent&quot;&gt;&lt;b&gt;RDK&lt;/b&gt; &lt;i&gt;[INSTALL|EXTRACT]&lt;/i&gt; SourceList &lt;i&gt;[(options)]&lt;/i&gt;&lt;/div&gt;

&lt;p&gt;The RDK command&#039;s first parameter is optional (see the &lt;u&gt;Installing RDKs&lt;/u&gt; section below) and it determines whether or not we are installing an RDK or creating one.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Installing RDKs&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;To install an RDK, the equivalent of running the &amp;quot;RUN RDKINSTALL&amp;quot; statement in OI, follow the RDK keyword with the INSTALL keyword or omit this parameter altogether. The SourceList portion of the statement is a list of paths containing the RDKs we wish to install. As the name suggests, you can install multiple RDKs in a single call. Both of the following command lines work:
&lt;blockquote&gt;
	&lt;span style=&quot;font-family: &#039;Consolas&#039;&quot;&gt;RDK INSTALL &amp;quot;C:\RDK\SRP_Editor_Rdk&amp;quot; &amp;quot;C:\RDK\SRP_Utilities_Rdk&amp;quot;&lt;/span&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
	&lt;span style=&quot;font-family: &#039;Consolas&#039;&quot;&gt;RDK &amp;quot;C:\RDK\SRP_Editor_Rdk&amp;quot; &amp;quot;C:\RDK\SRP_Utilities_Rdk&amp;quot;&lt;/span&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;There are no options when installing RDKs. Simply provide the list of RDK paths. The quotes are only necessary if the paths contain spaces.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Extracting RDKs&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;To extract and RDK, you must include the EXTRACT keyword and a list of one or more RDK deployment definitions. Recall, the RDK&#039;s destination directory is defined in the deployment definition and is therefore not supplied in the RDK command. As an example, here is the command to deploy the SRP Editor:
&lt;blockquote&gt;
	&lt;span style=&quot;font-family: &#039;Consolas&#039;&quot;&gt;RDK EXTRACT SRP_EDITOR&lt;/span&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;Now, as is, this command will operate exactly as the OI RDK tool, failing if the directory does not exist or is not empty. This is where the options come in. There are three options: C, S, and V. The &amp;quot;C&amp;quot; option clears the destination directory before extracting the RDK. The &amp;quot;S&amp;quot; option creates the directory if it does not already exist. So, to ensure a successful extraction every time, use this command:
&lt;blockquote&gt;
	&lt;span style=&quot;font-family: &#039;Consolas&#039;&quot;&gt;RDK EXTRACT SRP_EDITOR (CS)&lt;/span&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;The &amp;quot;V&amp;quot; option is useful for creating RDKs that target multiple versions of OpenInsight. To illustrate, the SRP Editor is developed in OpenInsight 7.0, then extract using the &amp;quot;V&amp;quot; option to create 7.1, 7.2, and 8.0+ compatible versions of the RDK. What do we mean when we say compatible? First, any presentation server changes between version are taken into account. Thus, any forms created in 7.0 are form fixed in the 7.1 and later RDKs. Secondly, each RDK version is given the appropriate RDKMODULEINSTALL for that version.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; There are no currently no RDK versions created for 9.x because the 8.0 RDK works in those versions of OI as is.&lt;/p&gt;

&lt;p&gt;A final point of interest is that the &amp;quot;V&amp;quot; option only creates RDKs starting with the version of OI from which the command is executed. That is, if you run the RDK EXTRACT command in OI 7.2, then the &amp;quot;V&amp;quot; option will only create the 7.2 and 8.0 RDKs. So, our final command can look like this:
&lt;blockquote&gt;
	&lt;span style=&quot;font-family: &#039;Consolas&#039;&quot;&gt;RDK EXTRACT SRP_EDITOR (CSV)&lt;/span&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;And since a list of deployment definitions are supported, we can extract several of our tools in one call:
&lt;blockquote&gt;
	&lt;span style=&quot;font-family: &#039;Consolas&#039;&quot;&gt;RDK EXTRACT SRP_EDITOR SRP_MAIL SRP_UTILITIES (CSV)&lt;/span&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;It&#039;s our hope you find either of these tools useful in your own environment. We welcome your feedback on how to improve these tools. If you haven&#039;t tried the SRP Editor, you can download a free trial from &lt;a href=&quot;http://isupport.srpcs.com/downloads/SRP_Editor_Install.exe&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
 <category domain="http://www.srpcs.com/taxonomy/term/129">Product News</category>
 <category domain="http://www.srpcs.com/taxonomy/term/139">Editor</category>
 <category domain="http://www.srpcs.com/taxonomy/term/202">RDK</category>
 <category domain="http://www.srpcs.com/taxonomy/term/203">Repository</category>
 <category domain="http://www.srpcs.com/taxonomy/term/133">SRP</category>
 <pubDate>Mon, 19 Oct 2009 17:30:56 -0500</pubDate>
 <dc:creator>Kevin Fournier</dc:creator>
 <guid isPermaLink="false">320 at http://www.srpcs.com</guid>
</item>
<item>
 <title>Did You Know - Accessing Images from Compressed Folders</title>
 <link>http://www.srpcs.com/product_news/Accessing_Images_from_Compressed_Folders</link>
 <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/Zip_Image.img_assist_custom.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-img_assist_custom&quot; width=&quot;130&quot; height=&quot;130&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;OpenInsight&#039;s BITMAP property allows developers access images by path name or from within a resource file (.DLL or .EXE):

&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Pull&amp;nbsp;image&amp;nbsp;from&amp;nbsp;a&amp;nbsp;path. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;BITMAP&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;BMPS\Check.png&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000;&quot;&gt; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Pull&amp;nbsp;image&amp;nbsp;from&amp;nbsp;a&amp;nbsp;resource&amp;nbsp;file. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;BITMAP&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Images.dll#check&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;Storing images within a resource file makes an application more professional and prevents the curious end user from modifying the images stored on the hard drive. However, many developers are unfamiliar with the technology necessary to manage images from within a resource file. Most software development kits provide tools for this. If you are unfamiliar with (or would rather not learn) these SDKs there are simple utilities that can be downloaded to make this relatively easy (e.g. one that seems to work well is &lt;a href=&quot;http://www.angusj.com/resourcehacker/&quot;&gt;Resource Hacker&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;As might be expected, all SRP ActiveX image based properties can load images from a path or resource file. However, for developers who like the idea of using a single file to store all their images but would rather not fiddle with resource files there is another option: zip files. Developers can put all of their images into a zip file (aka compressed folder) and use the same syntax to reference them. The .zip extension can even be renamed to obscure this even more:

&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Pull&amp;nbsp;image&amp;nbsp;from&amp;nbsp;a&amp;nbsp;zip&amp;nbsp;file. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Images&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Images.zip#check&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000;&quot;&gt; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Pull&amp;nbsp;image&amp;nbsp;from&amp;nbsp;a&amp;nbsp;zip&amp;nbsp;file&amp;nbsp;(extension&amp;nbsp;renamed). &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Images&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Images.fil#check&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;Don&#039;t forget that the entire SRP ActiveX control suite and OLE Help documentation can be downloaded from &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_ActiveX_Controls.zip&quot;&gt;here&lt;/a&gt;. These are fully functional controls but will display an evaluation message without a license file.&lt;/p&gt;&lt;!--break--&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <category domain="http://www.srpcs.com/taxonomy/term/129">Product News</category>
 <category domain="http://www.srpcs.com/taxonomy/term/153">ActiveX</category>
 <category domain="http://www.srpcs.com/taxonomy/term/195">Compressed</category>
 <category domain="http://www.srpcs.com/taxonomy/term/193">Image</category>
 <category domain="http://www.srpcs.com/taxonomy/term/196">Resource</category>
 <category domain="http://www.srpcs.com/taxonomy/term/194">Zip</category>
 <pubDate>Sat, 10 Oct 2009 11:16:29 -0500</pubDate>
 <dc:creator>Don Bakke</dc:creator>
 <guid isPermaLink="false">315 at http://www.srpcs.com</guid>
</item>
<item>
 <title>Did You Know - Using the TabColors Property</title>
 <link>http://www.srpcs.com/product_news/Using_the_TabColors_Property</link>
 <description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In a &lt;a href=&quot;http://www.srpcs.com/product_news/Using_the_Color_Fill_Property_Type&quot;&gt;recent article&lt;/a&gt; we highlighted the stunning &lt;b&gt;Color Fill&lt;/b&gt; feature that many developers might not have been aware of. Several controls were demonstrated in that article. One example that was &lt;i&gt;not&lt;/i&gt; pictured was the &lt;b&gt;SRP Tab&lt;/b&gt; control, which will be the focus of this article.&lt;/p&gt;

&lt;p&gt;There are two reasons which inspired me to highlight the SRP Tab control. First, being one of our very first ActiveX controls, it has received very little attention in recent years. Second, while doing an application review the other day I came across a window that instantly caught my attention:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;a href=&quot;/files/images/SRPTabNAVSuite.png&quot; onclick=&quot;launch_popup(297, 624, 489); return false;&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/files/images/SRPTabNAVSuite.thumbnail.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-thumbnail&quot; width=&quot;200&quot; height=&quot;157&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;!--break--&gt;

&lt;p&gt;The gradient background made me wonder if this application was being developed in OpenInsight 9.x, since that is when Revelation introduced this feature.  This is demonstrated below in the Report Builder Page Setup dialog:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;a href=&quot;/files/images/ReportBuilderPageSetup.png&quot; onclick=&quot;launch_popup(298, 481, 269); return false;&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/files/images/ReportBuilderPageSetup.thumbnail.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-thumbnail&quot; width=&quot;200&quot; height=&quot;112&quot; /&gt;&lt;/a&gt;&lt;/span&gt;

&lt;p&gt;However, I was pretty sure this application was &lt;i&gt;not&lt;/i&gt; designed in OpenInsight 9.x. I checked the About box. Sure enough, version 8.0.1. I was then reminded of a color-based ActiveX property that we introduced with little fanfare: &lt;b&gt;TabColors&lt;/b&gt;. Therefore, if I had forgotten about this feature in our &lt;i&gt;own&lt;/i&gt; controls,  it seemed like a good candidate for a new article.&lt;/p&gt;

&lt;p&gt;The documentation on this property that comes with our ActiveX controls is pretty thorough. Therefore I will not attempt to duplicate the technical material that it contains. Rather, I hope that this article will present some visual examples that will inspire developers. However, the reader is advised to use discretion when it comes to using colors on such a large scale. I will also make the disclaimer that many of the color examples used below are more for demonstration purposes rather than out of personal preference.&lt;/p&gt;

&lt;p&gt;One technique is to color each tab distinctly. This would be used to help the user make quick associations based on the color in addition to the tab caption or position:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/UserTabColorsAni.gif&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;500&quot; height=&quot;213&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Here is the code we used to create the above example:
&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_TAB&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.AllowXPTheme&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;No$) &lt;br/&gt;Colors&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;2&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(LightSkyBlue&amp;nbsp;L=80,&amp;nbsp;LightSkyBlue&amp;nbsp;L=90),&amp;nbsp;Border(LightSkyBlue))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;2&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;2&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(LightSkyBlue&amp;nbsp;L=90,&amp;nbsp;LightSkyBlue&amp;nbsp;L=95),&amp;nbsp;Border(LightSkyBlue))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;3&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;2&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(LightSkyBlue&amp;nbsp;L=85,&amp;nbsp;LightSkyBlue&amp;nbsp;L=95),&amp;nbsp;Border(LightSkyBlue))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;4&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Gray&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;4&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;2&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(Gray&amp;nbsp;L=80,&amp;nbsp;Gray&amp;nbsp;L=90),&amp;nbsp;Border(Gray))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;5&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(LightSkyBlue&amp;nbsp;L=95,&amp;nbsp;LightSkyBlue&amp;nbsp;L=80),&amp;nbsp;Border(LightSkyBlue))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.TabColors[1]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Colors) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;Swap&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;LightSkyBlue&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;with&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;MediumBlue&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;in&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;nbsp; &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.TabColors[2]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Colors)&amp;nbsp; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;Swap&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;MediumBlue&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;with&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Indigo&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;in&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;nbsp; &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.TabColors[3]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Colors)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Another use for colored tabs is to make it easier to identify which tab is selected. With some visual themes this can be a little difficult as the selected tab lacks any significant features that make it stand out. In this example we allowed the non-selected tabs to retain their default colors. Only the selected tab and panel were asigned a custom scheme. Additionally we utilized the &lt;b&gt;SelectedFont&lt;/b&gt; property to make the text bold for further emphasis:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/UserTabColorsAni2.gif&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;500&quot; height=&quot;213&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Our code for this technique is a little simpler than before:

&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_TAB&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.AllowXPTheme&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;No$) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.SelectFont&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@SVM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@SVM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;700&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Colors&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;3&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;2&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(Green&amp;nbsp;L=90,&amp;nbsp;Green&amp;nbsp;L=85),&amp;nbsp;Border(Green))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Colors&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;5&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(Green&amp;nbsp;L=85,&amp;nbsp;Green&amp;nbsp;L=65),&amp;nbsp;Border(Green))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.TabColors[All]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Colors)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;One obvious difference between the gradient features of OpenInsight 9.x and the TabColors feature of the SRP Tab control is that the latter requires an actual tab (if only one) to be created. What if the developer wants the benefit of a gradient background without having to use a tab? With that question in mind we are pleased to announce two new properties that are being unveiled for the first time with this article: &lt;b&gt;CustomPaneColor&lt;/b&gt; and &lt;b&gt;FillParentBackground&lt;/b&gt;. Before demonstrating these properties let us first look at this window:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/PrintManagerDefaultTheme.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;320&quot; height=&quot;354&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;You&#039;ll notice that this dialog box has a rectangle that surrounds and highlights most of the controls. The background within this rectangle is nearly white whereas the rest of the form&#039;s background is the defalt system color. This effect is achieved by using the SRP Tab control with no tabs. That is, it is purely there for aesthetic purposes. In this case we are using the &lt;b&gt;AllowXPTheme&lt;/b&gt; property so that the entire form remains theme friendly.&lt;/p&gt;

&lt;p&gt;With the &lt;b&gt;CustomPaneColor&lt;/b&gt; property we can now customize how this background will look. For instance, by turning off the AllowXPTheme property (which is necessary for any of the color oriented properties to work properly, see documentation under TabColors for further information), we can now pass in any valid color or color fill setting:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/PrintManagerSelectTheme.img_assist_custom.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-img_assist_custom&quot; width=&quot;304&quot; height=&quot;336&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;But what if we want to color the &lt;i&gt;entire&lt;/i&gt; form with a custom color rather than just a defined rectangle? In other words, what if we want to have the same type of gradient background feature that OpenInsight 9.x supports? One way to achieve this is to size the SRP Tab control so that it is positioned as high as possible on the form and set the &lt;b&gt;Height&lt;/b&gt; property to -1 so that it resizes itself (you&#039;ll also want to set the Autosize Width property of the OpenInsight OLE control as well.) This gets pretty close to the mark, but not 100%. Therefore, the &lt;b&gt;FillParentBackground&lt;/b&gt; property was created to make this just right. All the developer needs to do is add this property to the existing code and the background fill transfers from the SRP Tab pane onto the form&#039;s background:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/PrintManagerFormBackground.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;320&quot; height=&quot;354&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;In the above examples I used the &lt;b&gt;Select&lt;/b&gt; system color. We often use this color to ensure that our forms are theme friendly:

&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_TAB&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.AllowXPTheme&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;No$) &lt;br/&gt;Color&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(Select&amp;nbsp;L=95,&amp;nbsp;Select&amp;nbsp;L=80),&amp;nbsp;Border(Select))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.CustomPaneColor&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Color) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Disable&amp;nbsp;FillParentBackground&amp;nbsp;to&amp;nbsp;only&amp;nbsp;fill&amp;nbsp;within&amp;nbsp;the&amp;nbsp;Tab&amp;nbsp;control&#039;s&amp;nbsp;borders. &lt;br/&gt;//&amp;nbsp;Enable&amp;nbsp;FillParentBackground&amp;nbsp;to&amp;nbsp;fill&amp;nbsp;the&amp;nbsp;entire&amp;nbsp;form. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.FillParentBackground&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Yes$)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;For the very creative developer multiple Tab controls can be used for some very interesting effects. One can be used to color the entire background of the form and others can be used as a pseudo-groupbox/panel display:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SetupOptions_0.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;516&quot; height=&quot;336&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;A few notes regarding the above example:&lt;/p&gt;

&lt;center&gt;
&lt;table class=&quot;standard&quot;&gt;
&lt;thead style=&quot;background-color: #ccc;&quot;&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Comment&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;&lt;b&gt;1&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;This is the form background created with the &lt;b&gt;FillParentBackground&lt;/b&gt; property. Control: &lt;b&gt;OLE_TAB_BACKGROUND&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;&lt;b&gt;2&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;This is the SRP Tab panel background created with the &lt;b&gt;CustomPaneColor&lt;/b&gt; property. Control: &lt;b&gt;OLE_TAB_PANEL&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;&lt;b&gt;3&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;This is the SRP Tab pseudo-groupbox background created with the &lt;b&gt;CustomPaneColor&lt;/b&gt; property. Control: &lt;b&gt;OLE_TAB_GROUP&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;&lt;b&gt;4&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;These are SRP Button controls using the &lt;b&gt;Background&lt;/b&gt; and &lt;b&gt;Foreground&lt;/b&gt; properties.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;&lt;b&gt;5&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;This is the SRP ShortcutBar control with the &lt;b&gt;Theme&lt;/b&gt; property set to &lt;b&gt;WinXP&lt;/b&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/center&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Finally, here is the code for those interested in how this was put together:

&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Make&amp;nbsp;the&amp;nbsp;form&amp;nbsp;background&amp;nbsp;a&amp;nbsp;medium&amp;nbsp;blue&amp;nbsp;gradient. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_TAB_BACKGROUND&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.AllowXPTheme&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;No$) &lt;br/&gt;Color&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(LightSteelBlue&amp;nbsp;L=80,&amp;nbsp;LightSteelBlue&amp;nbsp;L=60),&amp;nbsp;Border(LightSteelBlue))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.CustomPaneColor&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Color) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.FillParentBackground&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Yes$) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000;&quot;&gt; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;panel&amp;nbsp;with&amp;nbsp;a&amp;nbsp;dark&amp;nbsp;blue&amp;nbsp;gradient. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_TAB_PANEL&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.AllowXPTheme&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;No$) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Height&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;-&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;39&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Color&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(DodgerBlue&amp;nbsp;L=40,&amp;nbsp;MidnightBlue&amp;nbsp;L=20),&amp;nbsp;Border(MidnightBlue))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.CustomPaneColor&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Color) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000;&quot;&gt; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;pseudo-groupbox&amp;nbsp;with&amp;nbsp;a&amp;nbsp;medium&amp;nbsp;blue&amp;nbsp;gradient. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_TAB_GROUP&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.AllowXPTheme&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;No$) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Height&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;-&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;52&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Color&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(LightSteelBlue&amp;nbsp;L=95,&amp;nbsp;LightSteelBlue&amp;nbsp;L=80),&amp;nbsp;Border(LightSteelBlue))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.CustomPaneColor&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Color) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000;&quot;&gt; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #004080; font-weight: bold; &quot;&gt;//&amp;nbsp;Create&amp;nbsp;the&amp;nbsp;buttons&amp;nbsp;with&amp;nbsp;a&amp;nbsp;custom&amp;nbsp;normal,&amp;nbsp;hot,&amp;nbsp;and&amp;nbsp;pressed&amp;nbsp;color&amp;nbsp;theme. &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; font-weight: normal; &quot;&gt;Buttons&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OK,CANCEL,APPLY,RESET&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Captions&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;&amp;OK,&amp;Cancel,&amp;Apply,&amp;Reset&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;For&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;ButtonCnt&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;to&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;4 &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_BUTTON_&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;Field(Buttons,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;,&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;ButtonCnt) &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Caption&amp;nbsp;=&amp;nbsp;Field(Captions,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;,&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;ButtonCnt) &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Caption&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Caption) &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Background&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;&#039; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Background&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(DodgerBlue&amp;nbsp;L=40,&amp;nbsp;MidnightBlue&amp;nbsp;L=20),&amp;nbsp;Border(LightBlue))&#039; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Background&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;2&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(DodgerBlue&amp;nbsp;L=60,&amp;nbsp;MidnightBlue&amp;nbsp;L=40),&amp;nbsp;Border(White))&#039; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Background&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;3&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(DodgerBlue&amp;nbsp;L=20,&amp;nbsp;MidnightBlue&amp;nbsp;L=40),&amp;nbsp;Border(White))&#039; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Background&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;4&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(DodgerBlue&amp;nbsp;L=40&amp;nbsp;G,&amp;nbsp;MidnightBlue&amp;nbsp;L=20&amp;nbsp;G),&amp;nbsp;Border(LightBlue&amp;nbsp;G))&#039; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Background&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Background) &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Forecolor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;&#039; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Forecolor&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;White&#039; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Forecolor&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;Forecolor) &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Font&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@SVM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@SVM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;700&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;Next&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;ButtonCnt&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;We hope that these examples encourage you to explore different ways of adding visual interest to your applications. In order to use the CustomPaneColor and FillParentBackground properties you will need the latest SRP Core ActiveX control (v2.2.9). This is a free upgrade to all v2.x licensees and it can be downloaded with the entire SRP ActiveX control suite from &lt;A HREF=&quot;http://isupport.srpcs.com/Downloads/SRP_ActiveX_Controls.zip&quot;&gt;here&lt;/A&gt;.&lt;p&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <category domain="http://www.srpcs.com/taxonomy/term/129">Product News</category>
 <category domain="http://www.srpcs.com/taxonomy/term/153">ActiveX</category>
 <category domain="http://www.srpcs.com/taxonomy/term/189">Background</category>
 <category domain="http://www.srpcs.com/taxonomy/term/183">Color Fill</category>
 <category domain="http://www.srpcs.com/taxonomy/term/188">Core</category>
 <category domain="http://www.srpcs.com/taxonomy/term/192">CustomPaneColor</category>
 <category domain="http://www.srpcs.com/taxonomy/term/191">FillParentBackground</category>
 <category domain="http://www.srpcs.com/taxonomy/term/184">Gradient</category>
 <category domain="http://www.srpcs.com/taxonomy/term/133">SRP</category>
 <category domain="http://www.srpcs.com/taxonomy/term/140">Tab</category>
 <category domain="http://www.srpcs.com/taxonomy/term/190">TabColors</category>
 <category domain="http://www.srpcs.com/taxonomy/term/185">Theme</category>
 <pubDate>Sat, 10 Oct 2009 02:57:58 -0500</pubDate>
 <dc:creator>Don Bakke</dc:creator>
 <guid isPermaLink="false">299 at http://www.srpcs.com</guid>
</item>
<item>
 <title>SRP Utilities Update, Version 1.2.2</title>
 <link>http://www.srpcs.com/product_news/SRP_Utilities_Update_Version_1.2.2</link>
 <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/OneWay.jpg&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;505&quot; height=&quot;203&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;A customer recently discovered a glaring bug in our SRP_Hash method, which in hindsight was introduced with the release of version 1.2. In that version, we had made a change to the DLL function signature used by SRP_Encode. Much to our embarrassment, we forgot to updated SRP_Hash, which uses this same DLL function in order to conveniently encode your hashes. As a result, SRP_Hash would break to the debugger, indicating that an insufficient number of parameters was being passed to the DLL function in question. This unfortunate error on our part has been corrected in this release. We certainly apologize to anyone this may have inconvenienced.&lt;/p&gt;

&lt;p&gt;If you are currently using version 1.2 or 1.2.1, we highly recommend upgrading. Both existing users and those that wish to try this free utility can download SRP Utilities 1.2.2 from &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_Utilities_Install.exe&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;!--break--&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <category domain="http://www.srpcs.com/taxonomy/term/93">Company Information</category>
 <category domain="http://www.srpcs.com/taxonomy/term/187">Hash</category>
 <category domain="http://www.srpcs.com/taxonomy/term/133">SRP</category>
 <category domain="http://www.srpcs.com/taxonomy/term/134">Utilities</category>
 <pubDate>Wed, 07 Oct 2009 17:36:57 -0500</pubDate>
 <dc:creator>Kevin Fournier</dc:creator>
 <guid isPermaLink="false">302 at http://www.srpcs.com</guid>
</item>
<item>
 <title>Did You Know - Using the Color Fill Property Type</title>
 <link>http://www.srpcs.com/product_news/Using_the_Color_Fill_Property_Type</link>
 <description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;With the proliferation of so many &#039;home improvement&#039; type television programs it is hard not to discover how important color is for both aesthetic and functional purposes. Many of the same principles apply to software design as well. However, like home owners with little experience in interior design, many OpenInsight developers struggle to create a visual experience that is both intuitive and attractive. To make matters worse, modern systems commonly incorporate desktop themes and gradients as seen in the My Computer window below:&lt;/p&gt;
&lt;p&gt;
&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/MyComputer_0.img_assist_custom.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-img_assist_custom&quot; width=&quot;500&quot; height=&quot;244&quot; /&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;OpenInsight&#039;s out of the box toolkit is somewhat limited in this area, making it challenging for the developer to offer these kinds of visual enhancements. One popular work-around is to create (or download) custom images and use them with PUSHBMP or BITMAP controls in very creative ways. While this helps, it doesn&#039;t provide true theme support. Quite often these images use background colors to blend with the form. This works well while the user stays in the same theme. Once this is changed the well-crafted image looks glaringly out of place. This problem was one of the primary reasons SRP began developing ActiveX controls.&lt;/p&gt;

&lt;p&gt;Now, in addition to support for Transparency, Alpha Channel, RGB/HSL colors, System colors, MS Office colors, and HTML colors, SRP ActiveX controls give the developer custom &lt;b&gt;Gradient&lt;/b&gt; options via the &lt;b&gt;Color Fill&lt;/b&gt; property type. Since all of the above are fully documented in our SRP OLE Controls help document (available with our fully functional &lt;a href=&quot;http://isupport.srpcs.com/Downloads/SRP_ActiveX_Controls.zip&quot;&gt;evaluation suite&lt;/a&gt; of ActiveX controls), this article will focus on a few examples in hopes that it will inspire you to greater visual awesomeness.&lt;/p&gt;&lt;!--break--&gt;

&lt;p&gt;In our first example we began experimenting with ways to simulate the shiny progress bar within Vista using the &lt;b&gt;SRP StatusBar&lt;/b&gt;. To be honest, the easiest way of accomplishing this would be to use the &lt;b&gt;AllowXPTheme&lt;/b&gt; property since it utilizes the internal theme of Windows. However, we wanted to duplicate this look for non-Vista (i.e. primarily XP) machines. Additionally, we needed to support the custom &lt;b&gt;PaneType&lt;/b&gt; features such as Progress Caption. Therefore we worked with the &lt;b&gt;Color Fill&lt;/b&gt; property type to help us out. The final result was close enough for our purposes.&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/IEProgressBar.png&quot; alt=&quot;Internet Explorer&quot; title=&quot;Internet Explorer&quot;  class=&quot;image image-_original&quot; width=&quot;101&quot; height=&quot;24&quot; /&gt;&lt;span class=&quot;caption&quot;&gt;&lt;strong&gt;Internet Explorer&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;
&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRPStatusBarVistaStyle_0.png&quot; alt=&quot;SRP StatusBar&quot; title=&quot;SRP StatusBar&quot;  class=&quot;image image-_original&quot; width=&quot;103&quot; height=&quot;19&quot; /&gt;&lt;span class=&quot;caption&quot;&gt;&lt;strong&gt;SRP StatusBar&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;The source code that we used is provided below. In this case we opted to lock down the primary colors (PaleGreen and LimeGreen) used for the progress bar. However, the border colors use the AppBackground (ABK) System color to make it somewhat theme friendly:
&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;Ctrl&amp;nbsp;=&amp;nbsp;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_STATUSBAR&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.PaneCount&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;3&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.PaneType[2]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Progress&amp;nbsp;Normal&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;PaneColorInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;PaneColorInfo&amp;nbsp;&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Black&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;PaneColorInfo&amp;nbsp;&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(PaleGreen&amp;nbsp;L+=20&amp;nbsp;G,&amp;nbsp;PaleGreen&amp;nbsp;G,&amp;nbsp;40%),&amp;nbsp;Gradient(LimeGreen&amp;nbsp;L+=25&amp;nbsp;G,&amp;nbsp;LimeGreen&amp;nbsp;L+=35&amp;nbsp;G,&amp;nbsp;60%),&amp;nbsp;Border(ABK&amp;nbsp;L+=10,&amp;nbsp;ABK))&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;PaneColorInfo&amp;nbsp;&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;White&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;PaneColorInfo&amp;nbsp;&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(PaleGreen&amp;nbsp;L+=15,&amp;nbsp;PaleGreen,&amp;nbsp;40%),&amp;nbsp;Gradient(LimeGreen,&amp;nbsp;LimeGreen&amp;nbsp;L+=25,&amp;nbsp;60%),&amp;nbsp;Border(ABK&amp;nbsp;L+=10,&amp;nbsp;ABK))&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;PaneColorInfo&amp;nbsp;&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;PaneColorInfo&amp;nbsp;&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1 &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.PaneColors[2]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;PaneColorInfo) &lt;br/&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;Our next example takes advantage of the &lt;b&gt;SRP Popup&lt;/b&gt; control, perhaps one of the most underrated controls in our suite. Our goal was to provide the end user with a &#039;dialog&#039; that provided a little bit of help when the F1 key was pressed. However, we wanted to do something that was a little different than a traditional dialog box display. This led us to the following results:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRPPopupGradient.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;286&quot; height=&quot;160&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;We were inspired to create a slightly enhanced &#039;tooltip&#039;. Therefore, we took advantage of the ToolTip (TT) and ToolTipText (TTT) System colors for optimum theme compatibility. However, in order to provide some little visual interest we also gave it a subtle gradient. The OK button is also theme friendly as it uses the Select (S) System color:
&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;Set_Property(&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_POPUP&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Theme&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;C&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;BackgroundArray&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;BackgroundArray&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(TT&amp;nbsp;L=90,&amp;nbsp;TT&amp;nbsp;L=80,&amp;nbsp;30%),&amp;nbsp;Gradient(TT&amp;nbsp;L=75,&amp;nbsp;TT&amp;nbsp;L=80),&amp;nbsp;Border(TTT,&amp;nbsp;TTT,&amp;nbsp;TTT,&amp;nbsp;TTT))&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;BackgroundArray&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(S&amp;nbsp;L=80,&amp;nbsp;S&amp;nbsp;L=90),&amp;nbsp;Border(TTT,&amp;nbsp;TTT,&amp;nbsp;TTT,&amp;nbsp;TTT))&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;BackgroundArray&amp;nbsp;:=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(S&amp;nbsp;L=90,&amp;nbsp;S&amp;nbsp;L=80),&amp;nbsp;Border(TTT,&amp;nbsp;TTT,&amp;nbsp;TTT,&amp;nbsp;TTT))&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_POPUP&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.Background&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;BackgroundArray)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;Our last example combines the &lt;b&gt;SRP Picture&lt;/b&gt; and &lt;b&gt;SRP EditTable&lt;/b&gt; controls. The client was looking for something that was a little different than the everyday &#039;look and feel&#039; window. We began with the SRP EditTable control. Each header cell has its own gradient (using the Select (S) System color) and is separated with a White gridline. However, once this look was achieved it made the rest of the window look rather plain. This led us to the idea of using the SRP Picture control as a pseudo-label. By using the same gradient scheme that we used for the SRP EditTable header cells we were able to provide the client with a uniform and theme-friendly window with a rather unique visual appearance:&lt;/p&gt;

&lt;span class=&quot;inline inline-center&quot;&gt;&lt;img src=&quot;/files/images/SRPPictureEditTableGradient.png&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;image image-_original&quot; width=&quot;471&quot; height=&quot;393&quot; /&gt;&lt;/span&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Setting the SRP Picture controls was relatively easy:
&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;Set_Property(&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_PICTURE&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.BackgroundColor&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Gradient(S&amp;nbsp;L=75, S)&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;Working on the SRP EditTable was a bit more complex mainly because special consideration needed to be given to the header cells that are at the far end of the control. Otherwise, the Color Fill settings are basically the same as the SRP Picture control:

&lt;blockquote&gt;
&lt;font style=&quot;font-family: &#039;Consolas&#039;; font-size: 10pt; color: 000000; font-weight: normal; font-style: normal; text-decoration: none&quot;&gt;Ctrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;font style=&quot; color: #0000FF; &quot;&gt;@Window&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;.OLE_EDITTABLE&#039;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;ForegroundColor&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;White&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;BackgroundColor&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Vertical(Gradient(S&amp;nbsp;L=75,&amp;nbsp;S)&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;GridLineColor&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;S&amp;nbsp;L=75&#039; &lt;br/&gt;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.HeaderColors[All;&amp;nbsp;All]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;ForegroundColor&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;BackgroundColor:&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;,&amp;nbsp;Border(None,&amp;nbsp;None,&amp;nbsp;White,&amp;nbsp;None))&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.HeaderColors[1;&amp;nbsp;All]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;ForegroundColor&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;BackgroundColor:&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;,&amp;nbsp;Border(None,&amp;nbsp;None,&amp;nbsp;None,&amp;nbsp;White))&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.HeaderColors[1;&amp;nbsp;1]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;ForegroundColor&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;BackgroundColor:&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;,&amp;nbsp;Border(None,&amp;nbsp;None,&amp;nbsp;White,&amp;nbsp;White))&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.HeaderColors[&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:ArrayDimension&amp;lt;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&amp;gt;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;+&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;1&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;;&amp;nbsp;1]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;ForegroundColor&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;BackgroundColor:&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;,&amp;nbsp;Border(None,&amp;nbsp;None,&amp;nbsp;None,&amp;nbsp;None))&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.HeaderFont[All;&amp;nbsp;All]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;Tahoma&#039;&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@SVM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;9&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@SVM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;700&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;) &lt;br/&gt;Set_Property(Ctrl,&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #800000; &quot;&gt;&#039;OLE.CellGridLines[All;&amp;nbsp;All]&#039;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;,&amp;nbsp;GridLineColor&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;GridLineColor&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;GridLineColor&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #0000FF; &quot;&gt;@FM&amp;nbsp;&lt;/font&gt;&lt;font style=&quot; color: #000000; &quot;&gt;:&amp;nbsp;GridLineColor)&lt;/font&gt;&lt;/font&gt;
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;As of this writing, seven of the SRP ActiveX controls (Button, EditTable, Picture, Popup, StatusBar, Tab, and Tree) support the Color Fill property type in one or more ways. This gives the developer many options for &#039;spicing&#039; up those ordinary windows. Please note that we are always interested to see your own works of art!&lt;/p&gt;&lt;div class=&quot;image-clear&quot;&gt;&lt;/div&gt;</description>
 <category domain="http://www.srpcs.com/taxonomy/term/129">Product News</category>
 <category domain="http://www.srpcs.com/taxonomy/term/153">ActiveX</category>
 <category domain="http://www.srpcs.com/taxonomy/term/183">Color Fill</category>
 <category domain="http://www.srpcs.com/taxonomy/term/184">Gradient</category>
 <category domain="http://www.srpcs.com/taxonomy/term/176">OLE</category>
 <category domain="http://www.srpcs.com/taxonomy/term/185">Theme</category>
 <category domain="http://www.srpcs.com/taxonomy/term/186">Vista</category>
 <pubDate>Sun, 27 Sep 2009 11:07:34 -0500</pubDate>
 <dc:creator>Don Bakke</dc:creator>
 <guid isPermaLink="false">289 at http://www.srpcs.com</guid>
</item>
</channel>
</rss>
