Click here to Skip to main content
15,880,891 members
Articles / Desktop Programming / Windows Forms

An Alpha Channel Composited Windows Form with Designer Support

Rate me:
Please Sign up or sign in to vote.
4.96/5 (124 votes)
5 Oct 2009CPOL8 min read 322.6K   48.8K   279  
An alpha channel composited form for image based Window frames
<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><head><title>TransformForm Method (opacity)</title><link rel="stylesheet" type="text/css" href="../styles/presentation.css" /><link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" /><script type="text/javascript" src="../scripts/EventUtilities.js"></script><script type="text/javascript" src="../scripts/StyleUtilities.js"></script><script type="text/javascript" src="../scripts/SplitScreen.js"></script><script type="text/javascript" src="../scripts/ElementCollection.js"></script><script type="text/javascript" src="../scripts/MemberFilter.js"></script><script type="text/javascript" src="../scripts/CollapsibleSection.js"></script><script type="text/javascript" src="../scripts/LanguageFilter.js"></script><script type="text/javascript" src="../scripts/CookieDataStore.js"></script><meta name="file" content="7b47adf2-c452-9fa1-6702-7de50ebe4086" /><xml xmlns:msxsl="urn:schemas-microsoft-com:xslt"><MSHelp:Attr Name="AssetID" Value="M:AlphaForm.AlphaFormTransformer.TransformForm(System.Byte)" /><MSHelp:Keyword Index="A" Term="M:AlphaForm.AlphaFormTransformer.TransformForm(System.Byte)" /><MSHelp:Keyword Index="A" Term="frlrfAlphaFormAlphaFormTransformerClassTransformFormTopic" /><MSHelp:Keyword Index="K" Term="TransformForm method"></MSHelp:Keyword><MSHelp:Keyword Index="K" Term="AlphaFormTransformer.TransformForm method"></MSHelp:Keyword><MSHelp:Keyword Index="F" Term="TransformForm" /><MSHelp:Keyword Index="F" Term="AlphaFormTransformer.TransformForm" /><MSHelp:Keyword Index="F" Term="AlphaForm.AlphaFormTransformer.TransformForm" /><MSHelp:Attr Name="TopicType" Value="apiref" /><MSHelp:Attr Name="TopicType" Value="kbSyntax" /><MSHelp:Attr Name="APIType" Value="Managed" /><MSHelp:Attr Name="APILocation" Value="AlphaForm.dll" /><MSHelp:Attr Name="APIName" Value="..TransformForm" /><MSHelp:Attr Name="Locale" Value="en-us"></MSHelp:Attr></xml></head><body><script type="text/javascript">var store = new CookieDataStore('docs');registerEventHandler(window, 'load', function() { var ss = new SplitScreen('control', 'main'); selectLanguage(store.get('lang')); });</script><div id="control"><span class="productTitle">AlphaForm Help</span><br /><span class="topicTitle">TransformForm Method (opacity)</span><br /><div id="toolbar"><span id="chickenFeet"><a href="d4648875-d41a-783b-d5f4-638df39ee413.htm">Namespaces</a> ► <a href="43a6d8c0-dedc-c2a8-e94a-65433da6bed3.htm">AlphaForm</a> ► <a href="f78cb8c6-055c-58ef-c058-8e6d5cf3a4f8.htm">AlphaFormTransformer</a> ► <span class="nolink">TransformForm(Byte)</span></span><span id="languageFilter"><select id="languageSelector" onchange="var names = this.value.split(' '); toggleVisibleLanguage(names[1]); lfc.switchLanguage(names[0]); store.set('lang',this.value); store.save();"><option value="CSharp cs">C#</option><option value="VisualBasic vb">Visual Basic</option><option value="ManagedCPlusPlus cs">Visual C++</option></select></span><script>var sd = getStyleDictionary(); var lfc = new LanguageFilterController();</script></div></div><div id="main"><span style="color: DarkGray"> </span><div class="summary">
            This methods does the following:
            <ol><li>Constructs a desktop composited frame window and shows it. This window's
            bitmap is built from this control's <span class="code">BackgroundImage</span>.</li><li>Calls <span class="code">UpdateSkin</span> to updated the frame window's image data
            and build the main form's Region.</li><li>The BackgroundImage is set to the main form's Background image.</li></ol><p>
            This method should only be called *once* from the main form's
            Load event. If the user wants to change the image at runtime,
            <a href="965a03b8-5420-8d60-50ad-c4565a18fa28.htm">UpdateSkin(Bitmap, Bitmap, Byte)</a> should be used.
            </p></div><div class="section"><div class="sectionTitle" onclick="toggleSection(this.parentNode)"><img src="../icons/collapse_all.gif"></img> Declaration Syntax</div><div class="sectionContent"><table class="filter"><tr class="tabs" id="syntaxTabs"><td class="tab" x-lang="CSharp" onclick="st.toggleClass('x-lang','CSharp','activeTab','tab'); sb.toggleStyle('x-lang','CSharp','display','block','none');">C#</td><td class="tab" x-lang="VisualBasic" onclick="st.toggleClass('x-lang','VisualBasic','activeTab','tab'); sb.toggleStyle('x-lang','VisualBasic','display','block','none');">Visual Basic</td><td class="tab" x-lang="ManagedCPlusPlus" onclick="st.toggleClass('x-lang','ManagedCPlusPlus','activeTab','tab'); sb.toggleStyle('x-lang','ManagedCPlusPlus','display','block','none');">Visual C++</td></tr></table><div id="syntaxBlocks"><div class="code" x-lang="CSharp"><pre><span class="keyword">public</span> <span class="keyword">void</span> <span class="identifier">TransformForm</span>(
	<a href="http://msdn2.microsoft.com/en-us/yyb1w04y">byte</a> <span class="parameter">opacity</span>
)</pre></div><div class="code" x-lang="VisualBasic"><pre><span class="keyword">Public</span> <span class="keyword">Sub</span> <span class="identifier">TransformForm</span> ( _
	<span class="parameter">opacity</span> <span class="keyword">As</span> <a href="http://msdn2.microsoft.com/en-us/yyb1w04y">Byte</a> _
)</pre></div><div class="code" x-lang="ManagedCPlusPlus"><pre><span class="keyword">public</span>:
<span class="keyword">void</span> <span class="identifier">TransformForm</span> (
	<a href="http://msdn2.microsoft.com/en-us/yyb1w04y">unsigned char</a> <span class="parameter">opacity</span>
)</pre></div></div><script type="text/javascript">
						var st = new ElementCollection('syntaxTabs');
						var sb = new ElementCollection('syntaxBlocks');
						lfc.registerTabbedArea(st, sb);
						st.toggleClass('x-lang','CSharp','activeTab','tab');
						sb.toggleStyle('x-lang','CSharp','display','block','none');
					</script></div></div><div class="section"><div class="sectionTitle" onclick="toggleSection(this.parentNode)"><img src="../icons/collapse_all.gif"></img> Parameters</div><div class="sectionContent"><dl><dt><span class="parameter">opacity</span> (<a href="http://msdn2.microsoft.com/en-us/yyb1w04y">Byte</a>)</dt><dd>
            Opacity of form [0..255]
            </dd></dl></div></div><p><div id="footer"> <p />Copyright 2007 Jeff Anderson</div>Assembly: AlphaForm (Module: AlphaForm) Version: 1.1.1.0</p></div></body></html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
United States United States
Jeff Anderson has been a computer graphics software developer for over twenty years.

He is a co-founder of Braid Art Labs and a developer of Braid's GroBoto 3D software. Jeff also dabbles in shareware with an expanded version of the AlphaForm control and other programs here.

Comments and Discussions