<?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>Stephan&#039;s Blog &#187; Code</title>
	<atom:link href="http://www.arlt.eu/blog/tag/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arlt.eu/blog</link>
	<description>Life in Technicolor.</description>
	<lastBuildDate>Fri, 27 Jan 2012 00:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Enumerating Child Windows in Silverlight</title>
		<link>http://www.arlt.eu/blog/2011/06/19/enumerating-child-windows-in-silverlight/</link>
		<comments>http://www.arlt.eu/blog/2011/06/19/enumerating-child-windows-in-silverlight/#comments</comments>
		<pubDate>Sun, 19 Jun 2011 00:00:00 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.arlt.eu/blog/?p=407</guid>
		<description><![CDATA[Today I&#8217;d like to give you a short example how to enumerate all child windows in a Silverlight application: 1 2 3 4 5 6 7 8 9 10 11 12 13 void EnumChildWindows&#40;Visual visualParent&#41; &#123; for &#40;int i = 0; i &#60; VisualTreeHelper.GetChildrenCount&#40;visualParent&#41;; i++&#41; &#123; Visual visual = &#40;Visual&#41;VisualTreeHelper.GetChild&#40;visualParent, i&#41;; EnumChildWindows&#40;visual&#41;; &#160; if &#40;visual [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;d like to give you a short example how to enumerate all child windows in a Silverlight application:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #6666cc; font-weight: bold;">void</span> EnumChildWindows<span style="color: #008000;">&#40;</span>Visual visualParent<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> VisualTreeHelper<span style="color: #008000;">.</span><span style="color: #0000FF;">GetChildrenCount</span><span style="color: #008000;">&#40;</span>visualParent<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        Visual visual <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>Visual<span style="color: #008000;">&#41;</span>VisualTreeHelper<span style="color: #008000;">.</span><span style="color: #0000FF;">GetChild</span><span style="color: #008000;">&#40;</span>visualParent, i<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        EnumChildWindows<span style="color: #008000;">&#40;</span>visual<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>visual <span style="color: #008000;">is</span> Button<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// do something</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>In the code snippet above, the child windows are collected recursively. Since EnumChildWindows accepts a visualParent of Type Visual, one can start using the MainWindow object, e.g. obtained via reflection. This technique even finds child windows (buttons, text boxes, etc.) not defined in a XAML file.</p>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.arlt.eu/blog/2011/06/19/enumerating-child-windows-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TeXlipse, die TeXnicCenter-Alternative.</title>
		<link>http://www.arlt.eu/blog/2009/11/17/texlipse-die-texniccenter-alternative/</link>
		<comments>http://www.arlt.eu/blog/2009/11/17/texlipse-die-texniccenter-alternative/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 00:00:00 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Datei]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.arlt.eu/blog/?p=312</guid>
		<description><![CDATA[Justus hat mir heute einen prima Tipp gegeben: Das Eclipse-Plugin namens TeXlipse, das die beliebte Entwicklungsumgebung um einen LaTeX-Editor erweitert. Bisher habe ich für meine Dokumente TeXnicCenter unter Windows bzw. TeXShop auf dem Mac verwendet. Eigentlich war ich mit TeXnicCenter bisher zufrieden, gefehlt hat mir allerdings schon immer eine SVN-Integration, mit der Dateien direkt aus [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://halloserv.de/blog/">Justus</a> hat mir heute einen prima Tipp gegeben: Das Eclipse-Plugin namens <a href="http://texlipse.sourceforge.net/">TeXlipse</a>, das die beliebte Entwicklungsumgebung um einen LaTeX-Editor erweitert. Bisher habe ich für meine Dokumente <a href="http://www.texniccenter.org/">TeXnicCenter</a> unter Windows bzw. <a href="http://www.uoregon.edu/~koch/texshop/">TeXShop</a> auf dem Mac verwendet. Eigentlich war ich mit TeXnicCenter bisher zufrieden, gefehlt hat mir allerdings schon immer eine SVN-Integration, mit der Dateien direkt aus dem LaTeX-Editor ein- und ausgecheckt werden können. Dies ist jetzt mit Eclipse und dem <a href="http://subclipse.tigris.org/">Subclipse</a>-Plugin ohne Probleme möglich!</p>

<a href='http://www.arlt.eu/blog/2009/11/17/texlipse-die-texniccenter-alternative/eclipse/' title='Eclipse'><img src="http://www.arlt.eu/blog/wp-content/uploads/2009/11/eclipse.png" class="attachment-thumbnail" alt="Eclipse" title="Eclipse" /></a>
<a href='http://www.arlt.eu/blog/2009/11/17/texlipse-die-texniccenter-alternative/sumatrapdf/' title='SumatraPDF'><img width="150" height="108" src="http://www.arlt.eu/blog/wp-content/uploads/2009/11/sumatrapdf.png" class="attachment-thumbnail" alt="SumatraPDF" title="SumatraPDF" /></a>

<p>Des Weiteren bin ich vom DVI-Viewer des <a href="http://miktex.org/">MiKTeX</a>-Pakets auf den <a href="http://blog.kowalczyk.info/software/sumatrapdf/index.html">SumatraPDF</a>-Reader umgestiegen. Dieser hat gegenüber anderen Readern den Vorteil, dass er PDF-Dateien nicht sperrt, sondern die Anzeige permanent aktualisiert, sobald die Datei überschrieben wurde.</p>
<p>Eine tolle Sache! Probiert&#8217;s aus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arlt.eu/blog/2009/11/17/texlipse-die-texniccenter-alternative/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo Rename Windows&#8217; Start Button</title>
		<link>http://www.arlt.eu/blog/2009/06/13/howto-rename-windows-start-button/</link>
		<comments>http://www.arlt.eu/blog/2009/06/13/howto-rename-windows-start-button/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 00:00:00 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.arlt.eu/blog/?p=298</guid>
		<description><![CDATA[First of all, the following HowTo article doesn&#8217;t make sense. Justus and I just found out how you can rename the Start Button of Windows (XP, 2000 etc.). (1) In the main function determine the handle of the Desktop Windows (see GetDesktopWindow). (2) Then enumerate all Child Windows of the Desktop (see EnumChildWindows) &#8217;til you [...]]]></description>
			<content:encoded><![CDATA[<p>First of all, the following HowTo article doesn&#8217;t make sense. <a href="http://halloserv.de/blog/">Justus</a> and I just found out how you can rename the Start Button of Windows (XP, 2000 etc.). <img src='http://www.arlt.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<a href='http://www.arlt.eu/blog/2009/06/13/howto-rename-windows-start-button/start/' title='Start Button'><img width="56" height="28" src="http://www.arlt.eu/blog/wp-content/uploads/2009/07/start.jpg" class="attachment-thumbnail" alt="Start Button" title="Start Button" /></a>
<a href='http://www.arlt.eu/blog/2009/06/13/howto-rename-windows-start-button/stop/' title='Stop Button'><img width="56" height="28" src="http://www.arlt.eu/blog/wp-content/uploads/2009/07/stop.jpg" class="attachment-thumbnail" alt="Stop Button" title="Stop Button" /></a>

<p>(1) In the main function determine the handle of the Desktop Windows (see <code>GetDesktopWindow</code>). (2) Then enumerate all Child Windows of the Desktop (see <code>EnumChildWindows</code>) &#8217;til you find the Start Button (by comparing the buttons Class and Name). (3) If you found the Start Button, just pass its handle to the well-known <code>SetWindowText</code> function. That&#8217;s it!</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> _tmain<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, _TCHAR<span style="color: #000040;">*</span> argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	HWND lhStartButton <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// get desktop window and enum child windows</span>
	HWND lhDesktopWindow <span style="color: #000080;">=</span> GetDesktopWindow<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	EnumChildWindows<span style="color: #008000;">&#40;</span>lhDesktopWindow, EnumChildProc, <span style="color: #008000;">&#40;</span>LPARAM<span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span>lhStartButton<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// set the start button's text</span>
	SetWindowText<span style="color: #008000;">&#40;</span>lhStartButton, TEXT<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Stop&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
BOOL CALLBACK EnumChildProc<span style="color: #008000;">&#40;</span>HWND hwnd, LPARAM lParam<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> liLength <span style="color: #000080;">=</span> <span style="color: #0000dd;">255</span><span style="color: #008080;">;</span>
	BOOL lbResult <span style="color: #000080;">=</span> TRUE<span style="color: #008080;">;</span>
&nbsp;
	TCHAR <span style="color: #000040;">*</span>lpszClass <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> TCHAR<span style="color: #008000;">&#91;</span>liLength <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	TCHAR <span style="color: #000040;">*</span>lpszText <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> TCHAR<span style="color: #008000;">&#91;</span>liLength <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// get window class name and text</span>
	GetClassName<span style="color: #008000;">&#40;</span>hwnd, lpszClass, liLength<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	GetWindowText<span style="color: #008000;">&#40;</span>hwnd, lpszText, liLength<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// compare class name and text</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">0</span> <span style="color: #000080;">==</span> wcscmp<span style="color: #008000;">&#40;</span>TEXT<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Button&quot;</span><span style="color: #008000;">&#41;</span>, lpszClass<span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span>
             <span style="color: #0000dd;">0</span> <span style="color: #000080;">==</span> wcscmp<span style="color: #008000;">&#40;</span>TEXT<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Start&quot;</span><span style="color: #008000;">&#41;</span>, lpszText<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		lbResult <span style="color: #000080;">=</span> FALSE<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>HWND<span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>lParam<span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> hwnd<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000dd;">delete</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> lpszClass<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">delete</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> lpszText<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">return</span> lbResult<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Anyways. Why not blogging senseless things? <img src='http://www.arlt.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.arlt.eu/blog/2009/06/13/howto-rename-windows-start-button/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

