<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Window System for XNA</title><link>http://www.codeplex.com/wsx/Project/ProjectRss.aspx</link><description>Window System for XNA allows you to easily add GUI functionality to your games and tools that target the XNA Framework.</description><item><title>New Post: Text Area</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=33004</link><description>&lt;div style="line-height: normal;"&gt;Thanks very much for the help. I'll try the control out and aim to get the functionality in the next release.&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
Aaron&lt;br&gt;
&lt;/div&gt;</description><author>cdmac</author><pubDate>Tue, 19 Aug 2008 17:07:59 GMT</pubDate><guid isPermaLink="false">New Post: Text Area 20080819050759P</guid></item><item><title>New Post: how to use imageButton</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=31382</link><description>&lt;div style="line-height: normal;"&gt;Thanks for the suggestion, I'll look into it for the next release.&lt;br&gt;
&lt;/div&gt;</description><author>cdmac</author><pubDate>Tue, 19 Aug 2008 17:03:04 GMT</pubDate><guid isPermaLink="false">New Post: how to use imageButton 20080819050304P</guid></item><item><title>New Post: Text Area</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=33004</link><description>&lt;div style="line-height: normal;"&gt;I created a TextArea using a very useful property of your ListBox - the vertical resizing when entries are more than the ListBox's vertical size. &lt;br&gt;
TextArea inherits from ListBox. I brake the text I want to put in the TextArea into several lines and add them as entries of the ListBox.&lt;br&gt;
I had to add a protected property to your project's ListBox class, because I needed to access the SpriteFont that is used for writing the text, so that I can know the width of the text in pixels.&lt;br&gt;
The code is as follows:&lt;br&gt;
&lt;br&gt;
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;ListBox.cs&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
// add the following code to this class:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected SpriteFont SpriteFont&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return this.font; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;TextArea.cs&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;// Add this class to the WindowSystem project&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;using System;&lt;br&gt;
using System.Collections.Generic;&lt;br&gt;
using System.Text;&lt;br&gt;
using Microsoft.Xna.Framework.Graphics;&lt;br&gt;
&lt;br&gt;
namespace WindowSystem&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public class TextArea: ListBox&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Fields&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string text;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Properties&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Get/Set the control text.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Text&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return this.text; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; this.text = value;&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; RefreshText();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Get/Set the control width.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public new int Width&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return base.Width; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; base.Width = value;&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; RefreshText();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Get/Set the control height.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public new int Height&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return base.Height; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; base.Height = value;&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; RefreshText();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Constructors&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Constructor.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name=&amp;quot;game&amp;quot;&amp;gt;The currently running Game object.&amp;lt;/param&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name=&amp;quot;gui&amp;quot;&amp;gt;GUIManager that this control is part of.&amp;lt;/param&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public TextArea(Game game, GUIManager gui)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : base(game, gui)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.text = &amp;quot;&amp;quot;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Private Methods&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Refreshes the text in the control.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void RefreshText()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Clear all entries&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Clear();&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Break the text into lines&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;string&amp;gt; lines = BreakTextToEntries();&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add each line as an entry of the ListBox&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string str in lines)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; this.AddEntry(str);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Breaks the Text into several lines with the width of the TextArea.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;A list containing all the generated lines.&amp;lt;/returns&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private List&amp;lt;string&amp;gt; BreakTextToEntries()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //private void BreakTextToEntries()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] words = Text.Split(' ');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;string&amp;gt; lines = new List&amp;lt;string&amp;gt;();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string currentLine = &amp;quot;&amp;quot;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string auxLine;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int auxLineSize;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int lineHSize = this.Width - this.HMargin * 4;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach(string word in words)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; auxLine = currentLine + word + &amp;quot; &amp;quot;;&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; auxLineSize = GetTextWidth(auxLine, SpriteFont);&lt;br&gt;
&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; if ( auxLineSize &amp;lt; lineHSize)&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentLine = auxLine;&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; else&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lines.Add(currentLine);&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentLine = word + &amp;quot; &amp;quot;;&lt;br&gt;
&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;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lines.Add(currentLine);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return lines;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Gets the width of a piece of text.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name=&amp;quot;txt&amp;quot;&amp;gt;The text to be measured.&amp;lt;/param&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;The number of pixels the text will occupy on screen.&amp;lt;/returns&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int GetTextWidth(string txt, SpriteFont font)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int a = (int)font.MeasureString(txt).X;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return a;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
In conclusion, the TextArea will contain any text you give it and will create a vertical scroll if the text is longer than the vertical size of the box. However, the scroll in &lt;span style="text-decoration:underline"&gt;only&lt;/span&gt; vertical - there is no horizontal scroll (the scroll property is exactly the same of the ListBox). The text will adapt to the horizontal size.&lt;br&gt;
The class in nothing special and can be improved, but feel free to use it if you like.&lt;br&gt;
&lt;br&gt;
Carolina&lt;br&gt;
&lt;/div&gt;</description><author>ctorres</author><pubDate>Thu, 07 Aug 2008 01:06:46 GMT</pubDate><guid isPermaLink="false">New Post: Text Area 20080807010646A</guid></item><item><title>New Post: Text Area</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=33004</link><description>&lt;div style="line-height: normal;"&gt;Hi. I've been using your project and, boy has it been useful! Thanks!&lt;br&gt;
&lt;br&gt;
However I lack one kind of component you don't seem to have implemented - a Text Area, i.e, an area where to put text that would create a scroll bar if the text is bigger than the area.&lt;br&gt;
Do you intend to do something of the kind? Because I really needed something like that... I tried to do it but I got stuck in the part where labels don't wrap text...&lt;br&gt;
I need this component because in my game I have to give instructions to the user and can have lots of text. Also, the text can vary a lot so writing the text &amp;quot;by hand&amp;quot; is not a solution.&lt;br&gt;
At the very least I would need a component that would able me to write text one line below the other without having to separate the text throughout various labels and positioning them one below the other...&lt;br&gt;
Any ideas?&lt;br&gt;
&lt;/div&gt;</description><author>ctorres</author><pubDate>Wed, 06 Aug 2008 14:35:23 GMT</pubDate><guid isPermaLink="false">New Post: Text Area 20080806023523P</guid></item><item><title>New Post: how to use imageButton</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=31382</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;thanks for your reply.&lt;/p&gt;
&lt;p&gt;meanwhile i got it running by implementing my own UIComponent.&lt;/p&gt;
&lt;p&gt;but here is another suggestion: how about renaming the enum MouseState to MouseCursorState so that it doesnt conflict with the class MouseState from XNA?&lt;/p&gt;
&lt;p&gt;thanks for a great library and keep up the good work.&lt;/p&gt;
&lt;/div&gt;</description><author>emzic</author><pubDate>Sat, 26 Jul 2008 21:48:01 GMT</pubDate><guid isPermaLink="false">New Post: how to use imageButton 20080726094801P</guid></item><item><title>New Post: how to use imageButton</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=31382</link><description>&lt;div style="line-height: normal;"&gt;Sorry for the delay!&lt;br&gt;
&lt;br&gt;
From a quick glance at the source, it seems that ImageButton currently requires you to specify a rectangle within the skin image for your custom graphic. I probably should make it inherit from Image instead of Icon, to make it easier to add new graphics, but you could do the same thing by applying a custom skin to the ImageButton control, which uses a different skin image from the rest of the GUI controls.&lt;br&gt;
&lt;br&gt;
If that doesn't make sense or you need more information/sample code, then let me know. I'll respond quicker next time!&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
Aaron&lt;br&gt;
&lt;/div&gt;</description><author>cdmac</author><pubDate>Tue, 22 Jul 2008 10:48:51 GMT</pubDate><guid isPermaLink="false">New Post: how to use imageButton 20080722104851A</guid></item><item><title>New Post: Window System in XNA 3.0 CTP (VS 2k8)</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=29846</link><description>&lt;div style="line-height: normal;"&gt;Thanks for letting me know. Were there many code changes required?&lt;br&gt;
&lt;/div&gt;</description><author>cdmac</author><pubDate>Tue, 22 Jul 2008 10:43:50 GMT</pubDate><guid isPermaLink="false">New Post: Window System in XNA 3.0 CTP (VS 2k8) 20080722104350A</guid></item><item><title>New Post: how to use imageButton</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=31382</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;hello,&lt;/p&gt;
&lt;p&gt;first of all, congrats on a great library!&lt;/p&gt;
&lt;p&gt;my question is, how can i create a button with a custom image on it. i found the class ImageButton, but dont really know how to use it.&lt;/p&gt;
&lt;p&gt;thanks!&lt;/p&gt;
&lt;/div&gt;</description><author>emzic</author><pubDate>Sat, 12 Jul 2008 21:23:02 GMT</pubDate><guid isPermaLink="false">New Post: how to use imageButton 20080712092302P</guid></item><item><title>Created Issue: Close button disappears</title><link>http://www.codeplex.com/wsx/WorkItem/View.aspx?WorkItemId=5555</link><description>If I create 2 or more instances of windows in the Testbed, the red close buttons disappear instantly.&lt;br /&gt;</description><author>Timsen</author><pubDate>Thu, 10 Jul 2008 21:54:49 GMT</pubDate><guid isPermaLink="false">Created Issue: Close button disappears 20080710095449P</guid></item><item><title>New Post: Window System in XNA 3.0 CTP (VS 2k8)</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=29846</link><description>&lt;div style="line-height: normal;"&gt;Just an FYI but tonight I was able to get your latest source code running in VS 2k8 under XNA 3.0. Let me know if you want the source and the bits. You've done some really nice work here and I'd like to use it - learn it, etc.
&lt;/div&gt;</description><author>caledh</author><pubDate>Wed, 18 Jun 2008 05:47:01 GMT</pubDate><guid isPermaLink="false">New Post: Window System in XNA 3.0 CTP (VS 2k8) 20080618054701A</guid></item><item><title>New Post: XNA SpriteFont???</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=14900</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I'm aware of those, but never found a completely suitable set of values. I even consulted a graphics expert, and he seemed to think that it may not be possible with my system.&lt;/p&gt;
&lt;p&gt;If you can get it working then let me know.&lt;/p&gt;
&lt;p&gt;Aaron&lt;/p&gt;
&lt;/div&gt;</description><author>cdmac</author><pubDate>Tue, 17 Jun 2008 10:13:20 GMT</pubDate><guid isPermaLink="false">New Post: XNA SpriteFont??? 20080617101320A</guid></item><item><title>New Post: Initial work at porting to 360</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=29633</link><description>&lt;div style="line-height: normal;"&gt;I'm sorry dude, but I just started porting it myself on the weekend... the same steps you took. I didn't upload the results because my internet connection went down.&lt;br&gt;
&lt;br&gt;
Any ideas past what you've already done? I'm thinking of making some simpler window types and controls for using with the gamepad, without requiring a pointing device.&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
Aaron
&lt;/div&gt;</description><author>cdmac</author><pubDate>Tue, 17 Jun 2008 10:10:47 GMT</pubDate><guid isPermaLink="false">New Post: Initial work at porting to 360 20080617101047A</guid></item><item><title>New Post: XNA SpriteFont???</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=14900</link><description>&lt;div style="line-height: normal;"&gt;You can use render states to fully control how alpha blending is performed. See http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.renderstate_members.aspx . There's a combination of states for all possible cases.&lt;br&gt;
&lt;/div&gt;</description><author>rednoise</author><pubDate>Sun, 15 Jun 2008 07:48:49 GMT</pubDate><guid isPermaLink="false">New Post: XNA SpriteFont??? 20080615074849A</guid></item><item><title>New Post: Initial work at porting to 360</title><link>http://www.codeplex.com/wsx/Thread/View.aspx?ThreadId=29633</link><description>&lt;div style="line-height: normal;"&gt;I've got the testbed (or atleast parts of it) running on the 360.&amp;nbsp; &lt;br&gt;
Does anyone have a more complicated, yet self-contained test-cases for the UI system?&lt;br&gt;
The bulk of the work so far&amp;nbsp;was really just creating new projects, coding up a Input system that could take mouse and/or gamepad....&lt;br&gt;
I still have some more work to do, but would like to make it available / part of the project if anyone is interested.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>eternal512</author><pubDate>Fri, 13 Jun 2008 21:35:33 GMT</pubDate><guid isPermaLink="false">New Post: Initial work at porting to 360 20080613093533P</guid></item><item><title>Source code checked in, #19990</title><link>http://www.codeplex.com/wsx/SourceControl/ListDownloadableCommits.aspx</link><description>Brought back GUIManager to before I clobbered it.</description><author>cdmac</author><pubDate>Fri, 13 Jun 2008 12:13:50 GMT</pubDate><guid isPermaLink="false">Source code checked in, #19990 20080613121350P</guid></item><item><title>Source code checked in, #19989</title><link>http://www.codeplex.com/wsx/SourceControl/ListDownloadableCommits.aspx</link><description>Deleted an unnecessary file.</description><author>cdmac</author><pubDate>Fri, 13 Jun 2008 11:59:34 GMT</pubDate><guid isPermaLink="false">Source code checked in, #19989 20080613115934A</guid></item><item><title>Source code checked in, #19987</title><link>http://www.codeplex.com/wsx/SourceControl/ListDownloadableCommits.aspx</link><description>Cleaned up the menu system, and got everything working from a fresh commit &amp;#40;hopefully&amp;#41;. Fixed all warnings.</description><author>cdmac</author><pubDate>Fri, 13 Jun 2008 11:56:17 GMT</pubDate><guid isPermaLink="false">Source code checked in, #19987 20080613115617A</guid></item><item><title>Created Issue: Bug in Window.cs</title><link>http://www.codeplex.com/wsx/WorkItem/View.aspx?WorkItemId=5269</link><description>Latest version &amp;#40;wsx-19236&amp;#41; in code&amp;#58;&lt;br /&gt;        public void CloseWindow&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            if &amp;#40;Parent &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;                GUIManager.Remove&amp;#40;this&amp;#41;&amp;#59;&lt;br /&gt;            else&lt;br /&gt;                GUIManager.Remove&amp;#40;this&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#47;&amp;#47; Here is recursive call, that stop with Stack Overflow exception&lt;br /&gt;            OnClose&amp;#40;this&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;I&amp;#39;m fix it with code from release version 0.5.1&amp;#58;&lt;br /&gt;        if &amp;#40;Close &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;            OnClose&amp;#40;this&amp;#41;&amp;#59;&lt;br /&gt;</description><author>Mous</author><pubDate>Tue, 10 Jun 2008 12:40:31 GMT</pubDate><guid isPermaLink="false">Created Issue: Bug in Window.cs 20080610124031P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/wsx/SourceControl/ListDownloadableCommits.aspx</link><description>Fixed sync problem with repo.</description><author>alexreg</author><pubDate>Tue, 27 May 2008 13:22:49 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080527012249P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/wsx/SourceControl/ListDownloadableCommits.aspx</link><description>Added highlighting for selected item in ListBox. To do&amp;#58; highlight box needs to extend to left edge of control.&amp;#13;&amp;#10;Added TextChanged event to TextBox control.&amp;#13;&amp;#10;ComboBox now unselects selected item when text is input manually.</description><author>alexreg</author><pubDate>Tue, 27 May 2008 13:21:53 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080527012153P</guid></item></channel></rss>