<?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>Fooling Around &#187; GUI</title>
	<atom:link href="http://alax.info/blog/tag/gui/feed" rel="self" type="application/rss+xml" />
	<link>http://alax.info/blog</link>
	<description>Software Production Line</description>
	<lastBuildDate>Tue, 03 Aug 2010 09:48:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Combo Box selection, WM_SETREDRAW and CB_SETCURSEL</title>
		<link>http://alax.info/blog/994</link>
		<comments>http://alax.info/blog/994#comments</comments>
		<pubDate>Thu, 30 Jul 2009 12:04:05 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[WTL]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CB_SETCURSEL]]></category>
		<category><![CDATA[combo box]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[WM_SETREDRAW]]></category>

		<guid isPermaLink="false">http://alax.info/blog/?p=994</guid>
		<description><![CDATA[Given the combo box initialization code:
m_ComboBox.SetRedraw(FALSE);
m_ComboBox.ResetContent();
for(INT nIndex = 0; nIndex &#60; 3; nIndex++)
    m_ComboBox.AddString(AtlFormatString(_T("Item %d"), nIndex + 1));
m_ComboBox.SetCurSel(1);
m_ComboBox.SetRedraw(TRUE)
How the combo box is going to look like?
Here it goes:

Combo box won&#8217;t repaint window on SetRedraw(TRUE) AKA WM_SETREDRAW. But once you move a mouse pointer over the control, or tab to focus it, the [...]]]></description>
			<content:encoded><![CDATA[<p>Given the combo box initialization code:</p>
<pre>m_ComboBox<span style="color: #808030;">.</span>SetRedraw<span style="color: #808030;">(</span>FALSE<span style="color: #808030;">)</span><span style="color: #800080;">;</span>
m_ComboBox<span style="color: #808030;">.</span>ResetContent<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #800080;">;</span>
<span style="color: #800000; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: #603000;">INT</span> nIndex <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: #800080;">;</span> nIndex <span style="color: #808030;">&lt;</span> <span style="color: #008c00;">3</span><span style="color: #800080;">;</span> nIndex<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
    m_ComboBox<span style="color: #808030;">.</span>AddString<span style="color: #808030;">(</span>AtlFormatString<span style="color: #808030;">(</span>_T<span style="color: #808030;">(</span><span style="color: #800000;">"</span><span style="color: #0000e6;">Item </span><span style="color: #0f69ff;">%d</span><span style="color: #800000;">"</span><span style="color: #808030;">)</span><span style="color: #808030;">,</span> nIndex <span style="color: #808030;">+</span> <span style="color: #008c00;">1</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: #800080;">;</span>
m_ComboBox<span style="color: #808030;">.</span>SetCurSel<span style="color: #808030;">(</span><span style="color: #008c00;">1</span><span style="color: #808030;">)</span><span style="color: #800080;">;</span>
m_ComboBox<span style="color: #808030;">.</span>SetRedraw<span style="color: #808030;">(</span>TRUE<span style="color: #808030;">)</span></pre>
<p>How the combo box is going to look like?</p>
<p><span id="more-994"></span>Here it goes:</p>
<p><img class="size-full wp-image-995 alignnone" title="ComboBoxSample01 #1" src="http://alax.info/blog/wp-content/uploads/2009/07/image001.png" alt="ComboBoxSample01 #1" width="300" height="129" /></p>
<p>Combo box won&#8217;t repaint window on SetRedraw(TRUE) AKA <a href="http://msdn.microsoft.com/en-us/library/dd145219%28VS.85%29.aspx">WM_SETREDRAW</a>. But once you move a mouse pointer over the control, or tab to focus it, the correct selection will be painted, &#8220;Item 2&#8243;:</p>
<p><img class="alignnone size-full wp-image-996" title="ComboBoxSample01 #2" src="http://alax.info/blog/wp-content/uploads/2009/07/image002.png" alt="ComboBoxSample01 #2" width="300" height="129" /></p>
<p>The control ignores the invalidation caused by <a href="http://msdn.microsoft.com/en-us/library/bb775899%28VS.85%29.aspx">CB_SETCURSEL</a> message while processing final SetRedraw message. To avoid GUI glitches, for example, a m_ComboBox.Invalidate() or <a href="http://msdn.microsoft.com/en-us/library/dd145002%28VS.85%29.aspx">InvalidateRect</a> might be called after SetRedraw(TRUE).</p>
]]></content:encoded>
			<wfw:commentRss>http://alax.info/blog/994/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skype Beta</title>
		<link>http://alax.info/blog/733</link>
		<comments>http://alax.info/blog/733#comments</comments>
		<pubDate>Sun, 14 Dec 2008 20:16:17 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[crap]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://alax.info/blog/?p=733</guid>
		<description><![CDATA[I recently advised to take a look at new beta version of Skype software, which I have to use nevertheless I would prefer Jabber for instant messaging if I would be free to choose. I was told that finally multiple chats are hosted in a single window and it is extremely convenient. While this looks [...]]]></description>
			<content:encoded><![CDATA[<p>I recently advised to take a look at new <a href="http://www.skype.com/intl/en/download/skype/windows/beta/">beta version of Skype software</a>, which I have to use nevertheless I would prefer Jabber for instant messaging if I would be free to choose. I was told that finally multiple chats are hosted in a single window and it is extremely convenient. While this looks hardly an advantage particularly to me, I still wanted to take a look at new fresh better Skype out there.</p>
<p>I am still very much disappointed by the trend of rewriting GUI. For god sake, who the hell needs that every single vendor mimic Vista&#8217;s GUI elements on his own? Why the hell would I want Vista buttons on Windows XP? They are still there as if there is no way to put an extra button to switch between compact and full view.</p>
<p>It may look that it is not worth whining around as this is a minor thing just to make it this way and not the other. Here is the Skype team achievement in imitating Vista interface on XP:</p>
<p><a href="http://alax.info/blog/wp-content/uploads/2008/12/14-image001.png"><img class="alignnone size-medium wp-image-732" title="New Skype Screenshot" src="http://alax.info/blog/wp-content/uploads/2008/12/14-image001-300x259.png" alt="" width="300" height="259" /></a></p>
<p>Window&#8217;s non-client area sometimes is calculating incorrectly and layout is updated so that menu has an extra empty line. The company massively invests in custom GUI that comes out crappy going out of uniform OS look and in additionally it is still buggy after passing QA. Yes, it is still a beta but it still gives a great idea about how things are cooked: a lot of work behind the scene and bugs are still here as a result.</p>
<p>Improved usability is questionable to say the least. A quick glance revealed issues:</p>
<ul>
<li>area for typing in chat text is surprisingly small, even on expanded large enough window</li>
<li>roster has persistent useless (for me) items which were optional previously</li>
<li>roster has another GUI glitch most likely caused by new look</li>
<li>groups reworked as a dropdown list and if previously I could &#8211; this was very useful &#8211; multiselect groups to be visible by clicking them with a Control key being hold, this is not an option anymore, thanks for that</li>
</ul>
<p>Update: luckily there is &#8220;Classic Windows&#8221; option!</p>
<p><a href="http://alax.info/blog/wp-content/uploads/2008/12/14-image002.png"><img class="alignnone size-medium wp-image-735" title="Skype's Classic Windows Look" src="http://alax.info/blog/wp-content/uploads/2008/12/14-image002-300x144.png" alt="" width="300" height="144" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://alax.info/blog/733/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To the collection of crapware: Nokia PC Suite</title>
		<link>http://alax.info/blog/579</link>
		<comments>http://alax.info/blog/579#comments</comments>
		<pubDate>Fri, 22 Aug 2008 21:43:50 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[crap]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://alax.info/blog/?p=579</guid>
		<description><![CDATA[Can there be any justification for a completely custom GUI replacing standard caption, buttons etc. and imitating Vista look on Windows XP? Vista look, but with unusual custom controls and still with a jerky Windows 3.11 style font (see prompt for installation path below).
 
I was about to write that unlike previous versions of Nokia [...]]]></description>
			<content:encoded><![CDATA[<p>Can there be any justification for a completely custom GUI replacing standard caption, buttons etc. and imitating Vista look on Windows XP? Vista look, but with unusual custom controls and still with a jerky Windows 3.11 style font (see prompt for installation path below).</p>
<p><a href="http://alax.info/blog/wp-content/uploads/2008/08/22-image021.png"><img class="alignnone size-medium wp-image-580" title="Nokia PC Suite Installation Wizard" src="http://alax.info/blog/wp-content/uploads/2008/08/22-image021-300x241.png" alt="" width="300" height="241" /> </a><a href="http://alax.info/blog/wp-content/uploads/2008/08/22-image022.png"><img class="alignnone size-medium wp-image-581" title="Windows 3.11 Font" src="http://alax.info/blog/wp-content/uploads/2008/08/22-image022-300x241.png" alt="" width="300" height="241" /></a></p>
<p>I was about to write that unlike previous versions of Nokia PC Suite, this one at least does the very first thing it is expected to do&#8230; but nope, it crashed on&#8230; viewing contacts! And it crashes every time soon after contacts browsing is opened!</p>
<p><a href="http://alax.info/blog/wp-content/uploads/2008/08/22-image023.png"><img class="alignnone size-medium wp-image-583" title="Nokia Software Crash" src="http://alax.info/blog/wp-content/uploads/2008/08/22-image023-300x185.png" alt="" width="300" height="185" /></a></p>
<p>OK, this might be a &#8220;little glitch&#8221;, but the Suite is still losing USB cable connections just like it has been doing for a long long time, even when it did not yet have Vista look&#8230;</p>
<p>How many Windows processes is necessary for this type of application? I left Bluetooth and Infrared disabled as unneeded. Service context: ServiceLayer.exe which started NclMSBTSrv.exe, NclUSBSrv.exe, NclRSSrv.exe (thanks, because there is 4 more .exes in this Transports subdirectory); Desktop: PCSuite.exe and an application for any major task: ContentCopier.exe, ConnectionManager.exe, CommunicationCentre.exe. It makes an impression I have installed another operating system on top of Windows. I never thought that communication with a cellular phone might be such complex task, which requires so many applications started.</p>
<p>Nokia&#8217;s service is &#8220;ServiceLayer&#8221;, display name &#8220;ServiceLayer&#8221;, service description is missing&#8230;</p>
<p><a href="http://alax.info/blog/wp-content/uploads/2008/08/22-image024.png"><img class="alignnone size-medium wp-image-590" title="Unnamed Service " src="http://alax.info/blog/wp-content/uploads/2008/08/22-image024-300x179.png" alt="" width="300" height="179" /></a></p>
<p>How did they come to this software design? To implement custom look and feel, fully customized GUI and just not provide any descriptive name for the service, which is by the way starting automatically (well, service startup is Manual, but user applications auto-start by default and would start the service) and keeps bloating system even when the Suite is not being used.</p>
]]></content:encoded>
			<wfw:commentRss>http://alax.info/blog/579/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creative X-Fi software</title>
		<link>http://alax.info/blog/526</link>
		<comments>http://alax.info/blog/526#comments</comments>
		<pubDate>Thu, 14 Aug 2008 16:18:47 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[GUI]]></category>

		<guid isPermaLink="false">http://alax.info/blog/?p=526</guid>
		<description><![CDATA[What is this, a picture of a box or a piece of user interface? It keeps surprising that software vendors keep investing in creating custom user interfaces (GUI) for the sake of&#8230; just nice visual appearance?
Yes, it is visually attractive, but in a daily usage this is only important factor from the very start. Would [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_535" class="wp-caption alignnone" style="width: 509px"><a href="http://alax.info/blog/wp-content/uploads/2008/08/cp1.jpg"><img class="size-full wp-image-535" title="cp1" src="http://alax.info/blog/wp-content/uploads/2008/08/cp1.jpg" alt="Screenshot from ixbt.com" width="499" height="388" /></a><p class="wp-caption-text">(software screenshot copied from ixbt.com)</p></div>
<p>What is this, a picture of a box or a piece of user interface? It keeps surprising that software vendors keep investing in creating custom user interfaces (GUI) for the sake of&#8230; just nice visual appearance?</p>
<p>Yes, it is visually attractive, but in a daily usage this is only important factor from the very start. Would later user appreciate usability and uniform GUI look? What if one has several packages installed and each of them has a shiny custom look? Most often this significantly adds binary/download size, will require more memory and will run slower because of both heavy graphics and custom controls, often designed in a haste or insufficiently accurate.</p>
<p>I would personally appreciate software developers investing into quality/performance of the code instead, is this an unrealizable dream?</p>
]]></content:encoded>
			<wfw:commentRss>http://alax.info/blog/526/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
