<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Installation Developer &#187; Controlling Visibility of Custom Dialog Box Controls</title>
	<atom:link href="http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.installationdeveloper.com</link>
	<description>InstallShield Training - InstallShield Tutorials</description>
	<lastBuildDate>Thu, 26 Jan 2012 22:12:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Controlling Visibility of Custom Dialog Box Controls</title>
		<link>http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/</link>
		<comments>http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 00:01:09 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[installshield class]]></category>
		<category><![CDATA[installshield classes]]></category>
		<category><![CDATA[installshield course]]></category>
		<category><![CDATA[installshield courses]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorials]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=590</guid>
		<description><![CDATA[When you create a custom dialog box in an InstallScript or InstallScript MSI project, you may need to control the visibility of certain controls. An example is radio buttons. Let&#8217;s say you have several radio buttons in a custom dialog box. You do not need all of them to be visible all of the time. [...]]]></description>
			<content:encoded><![CDATA[<p>When you create a custom dialog box in an InstallScript or InstallScript MSI project, you may need to control the visibility of certain controls.  An example is radio buttons.</p>
<p>Let&#8217;s say you have several radio buttons in a custom dialog box. You do not need all of them to be visible all of the time.  Sometimes, you just need one, other times two, and so on.  As a result, you want to show the ones you need and hide the ones you don&#8217;t.</p>
<p>Here are the basic steps involved.</p>
<ol>
<li>Call CmdGetHwndDlg() to get the handle to the dialog.</li>
<li>Call GetDlgItem() to get the handle of a radio button control.</li>
<li>Call CtrlSetState() to set the state of a radio button (selected or unselected).</li>
<li>Call _WinSubEnableControl() to enable or disable a radio button.</li>
<li>Call _WinSubShowWindow() to show or hide a radio button.</li>
<li>Call CtrlSetText() to set the text for a radio button.</li>
</ol>
<p>Check out this code sample:<br />
<strong><br />
#define RADIO1&nbsp;&nbsp;&nbsp;1441<br />
#define RADIO2&nbsp;&nbsp;&nbsp;1442</p>
<p>HWND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwndDlg,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwndRadio1,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwndRadio2;</p>
<p>STRING&nbsp;&nbsp;&nbsp;szDlg;</p>
<p>// set name of custom dialog</p>
<p>szDlg = &#8220;DialogName&#8221;;</p>
<p>// get handle to custom dialog</p>
<p>hwndDlg = CmdGetHwndDlg(szDlg);</p>
<p>// get handles to radio buttons</p>
<p>hwndRadio1 = GetDlgItem(hwndDlg,RADIO1);<br />
hwndRadio2 = GetDlgItem(hwndDlg,RADIO2);</p>
<p>// set radio button 1 to checked, visible, enabled.  finally, set radio button text.</p>
<p>CtrlSetState(szDlg,RADIO1,BUTTON_CHECKED);<br />
_WinSubShowWindow(hwndRadio1,1);<br />
_WinSubEnableControl(hwndDlg,RADIO1,1);<br />
CtrlSetText(szDlg,RADIO1,@IDS_TEXT_STRING1);</p>
<p>// set radio button 2 to unchecked, non-visible, disabled.  finally, clear radio button text</p>
<p>CtrlSetState(szDlg,RADIO2,BUTTON_UNCHECKED);<br />
_WinSubShowWindow(hwndRadio2,0);<br />
_WinSubEnableControl(hwndDlg,RADIO2,0);<br />
CtrlSetText(szDlg,RADIO2,@IDS_TEXT_STRING2);<br />
</strong><br />
The main point to remember is that you won&#8217;t always find InstallScript functions to do what you want.  At those times you have to use Windows functions.</p>
<p>
&nbsp;</p>
<!-- Start Sociable --><div class="sociable"><div class="sociable_tagline"><a class='sociable_tagline' target='_blank' href='http://blogplay.com' style='color:#333333;text-decoration:none'>Be Sociable, Share!</a></div><ul class='clearfix'><li><a title="Twitter" class="option1_32" style="background-position:-288px -32px" rel="nofollow" target="_blank" href="http://twitter.com/intent/tweet?text=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls%20-%20http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F%20(via%20@sociablesite)"></a></li><li><a title="Facebook" class="option1_32" style="background-position:-96px 0px" rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;t=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls"></a></li><li><a title="email" class="option1_32" style="background-position:-160px 0px" rel="nofollow" target="_blank" href="https://mail.google.com/mail/?view=cm&fs=1&to&su=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&body=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&ui=2&tf=1&shva=1"></a></li><li><a class="option1_32" style="cursor:pointer;background-position:-128px 0px" rel="nofollow" title="Add to favorites - doesn't work in Chrome"  onClick="javascript:AddToFavorites();"></a></li><li><a title="StumbleUpon" class="option1_32" style="background-position:-224px -32px" rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls"></a></li><li><a title="Delicious" class="option1_32" style="background-position:-32px 0px" rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;notes=When%20you%20create%20a%20custom%20dialog%20box%20in%20an%20InstallScript%20or%20InstallScript%20MSI%20project%2C%20you%20may%20need%20to%20control%20the%20visibility%20of%20certain%20controls.%20%20An%20example%20is%20radio%20buttons.%0D%0A%0D%0ALet%27s%20say%20you%20have%20several%20radio%20buttons%20in%20a%20custom%20dialog%20box.%20You%20do"></a></li><li><a title="Google Reader" class="option1_32" style="background-position:-224px 0px" rel="nofollow" target="_blank" href="http://www.google.com/reader/link?url=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;srcURL=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;srcTitle=Installation+Developer+InstallShield+Training+-+InstallShield+Tutorials"></a></li><li><a title="LinkedIn" class="option1_32" style="background-position:-288px 0px" rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;source=Installation+Developer+InstallShield+Training+-+InstallShield+Tutorials&amp;summary=When%20you%20create%20a%20custom%20dialog%20box%20in%20an%20InstallScript%20or%20InstallScript%20MSI%20project%2C%20you%20may%20need%20to%20control%20the%20visibility%20of%20certain%20controls.%20%20An%20example%20is%20radio%20buttons.%0D%0A%0D%0ALet%27s%20say%20you%20have%20several%20radio%20buttons%20in%20a%20custom%20dialog%20box.%20You%20do"></a></li><li><a title="BlinkList" class="option1_32" style="background-position:0px 0px" rel="nofollow" target="_blank" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Url=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;Title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls"></a></li><li><a style="cursor:pointer" rel="nofollow" onMouseOut="fixOnMouseOut(document.getElementById('sociable-post-590'), event, 'post-590')" onMouseOver="more(this,'post-590')"><img style='margin-top:9px' src='http://www.installationdeveloper.com/wp-content/plugins/sociable/images/more.png'></a></li></ul><div onMouseout="fixOnMouseOut(this,event,'post-590')" id="sociable-post-590" style="display:none;">   

    <div style="top: auto; left: auto; display: block;" id="sociable">



		<div class="popup">

			<div class="content">

				<ul><li style="heigth:32px;width:32px"><a title="Myspace" class="option1_32" style="background-position:0px -32px" rel="nofollow" target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;t=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls"></a></li><li style="heigth:32px;width:32px"><a title="Digg" class="option1_32" style="background-position:-64px 0px" rel="nofollow" target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;bodytext=When%20you%20create%20a%20custom%20dialog%20box%20in%20an%20InstallScript%20or%20InstallScript%20MSI%20project%2C%20you%20may%20need%20to%20control%20the%20visibility%20of%20certain%20controls.%20%20An%20example%20is%20radio%20buttons.%0D%0A%0D%0ALet%27s%20say%20you%20have%20several%20radio%20buttons%20in%20a%20custom%20dialog%20box.%20You%20do"></a></li><li style="heigth:32px;width:32px"><a title="Reddit" class="option1_32" style="background-position:-128px -32px" rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls"></a></li><li style="heigth:32px;width:32px"><a title="Google Bookmarks" class="option1_32" style="background-position:-192px 0px" rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;annotation=When%20you%20create%20a%20custom%20dialog%20box%20in%20an%20InstallScript%20or%20InstallScript%20MSI%20project%2C%20you%20may%20need%20to%20control%20the%20visibility%20of%20certain%20controls.%20%20An%20example%20is%20radio%20buttons.%0D%0A%0D%0ALet%27s%20say%20you%20have%20several%20radio%20buttons%20in%20a%20custom%20dialog%20box.%20You%20do"></a></li><li style="heigth:32px;width:32px"><a title="HackerNews" class="option1_32" style="background-position:-256px 0px" rel="nofollow" target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;t=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls"></a></li><li style="heigth:32px;width:32px"><a title="MSNReporter" class="option1_32" style="background-position:-352px 0px" rel="nofollow" target="_blank" href="http://reporter.es.msn.com/?fn=contribute&amp;Title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;URL=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;cat_id=6&amp;tag_id=31&amp;Remark=When%20you%20create%20a%20custom%20dialog%20box%20in%20an%20InstallScript%20or%20InstallScript%20MSI%20project%2C%20you%20may%20need%20to%20control%20the%20visibility%20of%20certain%20controls.%20%20An%20example%20is%20radio%20buttons.%0D%0A%0D%0ALet%27s%20say%20you%20have%20several%20radio%20buttons%20in%20a%20custom%20dialog%20box.%20You%20do"></a></li><li style="heigth:32px;width:32px"><a title="Sphinn" class="option1_32" style="background-position:-192px -32px" rel="nofollow" target="_blank" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F"></a></li><li style="heigth:32px;width:32px"><a title="Posterous" class="option1_32" style="background-position:-64px -32px" rel="nofollow" target="_blank" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;title=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;selection=When%20you%20create%20a%20custom%20dialog%20box%20in%20an%20InstallScript%20or%20InstallScript%20MSI%20project%2C%20you%20may%20need%20to%20control%20the%20visibility%20of%20certain%20controls.%20%20An%20example%20is%20radio%20buttons.%0D%0A%0D%0ALet%27s%20say%20you%20have%20several%20radio%20buttons%20in%20a%20custom%20dialog%20box.%20You%20do"></a></li><li style="heigth:32px;width:32px"><a title="Tumblr" class="option1_32" style="background-position:-256px -32px" rel="nofollow" target="_blank" href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.installationdeveloper.com%2F590%2Fcontrolling-visibility-of-custom-dialog-box-controls%2F&amp;t=Controlling%20Visibility%20of%20Custom%20Dialog%20Box%20Controls&amp;s=When%20you%20create%20a%20custom%20dialog%20box%20in%20an%20InstallScript%20or%20InstallScript%20MSI%20project%2C%20you%20may%20need%20to%20control%20the%20visibility%20of%20certain%20controls.%20%20An%20example%20is%20radio%20buttons.%0D%0A%0D%0ALet%27s%20say%20you%20have%20several%20radio%20buttons%20in%20a%20custom%20dialog%20box.%20You%20do"></a></li></ul>			

			</div>        

		  <a style="cursor:pointer" onclick="hide_sociable('post-590',true)" class="close">



		  <img onclick="hide_sociable('post-590',true)" title="close" src="http://www.installationdeveloper.com/wp-content/plugins/sociable/images/closelabel.png">

		  </a>

		</div>

	</div> 

  </div></div><div class='sociable' style='float:none'><ul class='clearfix'><li id="Twitter_Counter"><a href="https://twitter.com/share" data-text="Controlling Visibility of Custom Dialog Box Controls - http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/ (via #sociablesite)" data-url="http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/" class="twitter-share-button" data-count="horizontal">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></li><li id="Facebook_Counter"><iframe src="//www.facebook.com/plugins/like.php?href=http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/&send=false&layout=button_count&show_faces=false&action=like&colorscheme=light&font" scrolling="no" frameborder="0" style="border:none; overflow:hidden;height:32px;width:100px" allowTransparency="true"></iframe></li><li id="Google_+"><g:plusone annotation="bubble" href="http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/" size="medium"></g:plusone></li><li id="LinkedIn_Counter"><script src="http://platform.linkedin.com/in.js" type="text/javascript"></script><script type="IN/Share" data-url="http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/" data-counter="right"></script></li><li id="StumbleUpon_Counter"><script src="http://www.stumbleupon.com/hostedbadge.php?s=2&r=http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/"></script></li></ul></div><!-- End Sociable -->]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/590/controlling-visibility-of-custom-dialog-box-controls/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

