<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://windowstecnico.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Técnico : C#, Multitouch, Xna</title><link>http://windowstecnico.com/archive/tags/C_2300_/Multitouch/Xna/default.aspx</link><description>Etiquetas: C#, Multitouch, Xna</description><dc:language /><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Tablets MultiTouch con MS Windows 7: Comunicación del S.O. y las aplicaciones.</title><link>http://windowstecnico.com/archive/2011/03/17/tablets-multitouch-con-ms-windows-7-comunicaci-243-n-del-s-o-y-las-aplicaciones.aspx</link><pubDate>Thu, 17 Mar 2011 13:20:00 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:4317</guid><dc:creator>Ignacio Briones</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=4317</wfw:commentRss><comments>http://windowstecnico.com/archive/2011/03/17/tablets-multitouch-con-ms-windows-7-comunicaci-243-n-del-s-o-y-las-aplicaciones.aspx#comments</comments><description>&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;span style="font-weight:normal;"&gt;En la anterior entrada de la serie &lt;/span&gt;&lt;a href="http://www.windowstecnico.com/archive/2011/03/11/tablets-multitouch-con-ms-windows-7-herramientas.aspx"&gt;&lt;span style="font-weight:normal;"&gt;&lt;span style="text-decoration:underline;"&gt;Tablets MultiTouch con MS Windows 7: Herramientas&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:normal;"&gt; present&amp;aacute;bamos aquellos entornos y utilidades disponibles para la programaci&amp;oacute;n de aplicaciones en dispositivos tablet multitouch con Windows 7.&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Pero como ya anunci&amp;aacute;bamos, tras unas primeras entradas de car&amp;aacute;cter m&amp;aacute;s generalista nuestro objetivo con esta serie es ir aportando informaci&amp;oacute;n m&amp;aacute;s espec&amp;iacute;fica y que pueda ser de utilidad en aspectos concretos para el desarrollo de aplicaciones. En esta l&amp;iacute;nea, vamos a tratar en el presente post los mecanismos de los que hace uso Ms Windows 7 para comunicar a las aplicaciones las acciones realizadas por parte del usuario sobre los dispositivos tablet. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/Haleron_2D00_Windows_2D00_7_2D00_Tablet1_5F00_5591ED6D.jpg"&gt;&lt;img height="258" width="342" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/Haleron_2D00_Windows_2D00_7_2D00_Tablet1_5F00_thumb_5F00_058C1922.jpg" alt="Haleron-Windows-7-Tablet1" border="0" title="Haleron-Windows-7-Tablet1" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Cada vez que se realiza una acci&amp;oacute;n en la pantalla de los dispositivos multitouch, Ms Windows 7 genera dos tipos de mensajes: &lt;i&gt;WM_TOUCH y WM_GESTAURES&lt;/i&gt;. Ambos son recogidos por aplicaciones o frameworks de programaci&amp;oacute;n, como &lt;a href="http://msdn.microsoft.com/es-es/library/ms754130.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;WPF (Windows Presentation Foundation)&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration:underline;"&gt; &lt;/span&gt;que ya cit&amp;aacute;bamos. Tras ello, las aplicaciones actuar&amp;aacute;n en consecuencia.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Valoremos a continuaci&amp;oacute;n el primer tipo de mensajes VM_TOUCH. Este recoge las acciones m&amp;aacute;s simples, b&amp;aacute;sicamente presi&amp;oacute;n, movimiento y la acci&amp;oacute;n de levantar el dedo de la pantalla. Cada acci&amp;oacute;n de este mensaje puede tratarse de forma individualizada, asoci&amp;aacute;ndole un proceso de ejecuci&amp;oacute;n. Para ello haremos uso de &lt;a href="http://msdn.microsoft.com/es-es/library/ms754130.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;WPF (Windows Presentation Foundation)&lt;/span&gt;&lt;/a&gt; que se encargar&amp;aacute; de de transformar la gesti&amp;oacute;n del mensaje WM_TOUCH, en una gesti&amp;oacute;n controlada de eventos. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Seguidamente se muestra c&amp;oacute;mo se capturan los eventos de presi&amp;oacute;n de la pantalla &lt;i&gt;&amp;ldquo;TouchDown&amp;rdquo;&lt;/i&gt;, movimiento por la misma &lt;i&gt;&amp;ldquo;TouchMove&amp;rdquo;&lt;/i&gt; y levantar el dedo &lt;i&gt;&amp;ldquo;TouchUp&amp;rdquo;&lt;/i&gt;, para luego realizar una gesti&amp;oacute;n del evento sin tener que acceder directamente al mensaje WM_TOUCH.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/1_5F00_25E3A914.png"&gt;&lt;img height="140" width="491" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/1_5F00_thumb_5F00_7815E04E.png" alt="1" border="0" title="1" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;El segundo mensaje que debemos tener en cuenta, en la programaci&amp;oacute;n para un dispositivo multitouch, es &lt;i&gt;WM_GESTAURES&lt;/i&gt;. Este mensaje es lanzado por el sistema operativo cuando se producen gestos sobre la pantalla del tablet. Como vimos en la primera entrada de la serie&lt;span style="text-decoration:underline;"&gt; &lt;/span&gt;&lt;a href="http://www.windowstecnico.com/archive/2011/03/09/tablets-multitouch-con-ms-windows-7-desarrollo-de-aplicaciones.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;Tablets MultiTouch con MS Windows 7: Desarrollo de Aplicaciones&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration:underline;"&gt;,&lt;/span&gt; estos gestos son los que corresponden a las acciones de zoom, giro o desplazamiento.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;De igual modo que para el anterior mensaje WM_TOUCH, tambi&amp;eacute;n la plataforma .Net y WPF, proporcionan librer&amp;iacute;as para la gesti&amp;oacute;n de WM_GESTAURES y su consiguiente transformaci&amp;oacute;n en eventos del sistema. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Las librer&amp;iacute;as encargadas de esto son &lt;i&gt;Microsoft.Expresion.Interactions&lt;/i&gt; y &lt;i&gt;System.Windows.Interactive&lt;/i&gt;. Si queremos dotar a nuestro aplicativo de las funcionalidades proporcionadas por los gestos de los dispositivos Multitouch, tendremos que incluir estas dos librer&amp;iacute;as en el desarrollo de nuestro c&amp;oacute;digo. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Una de las ventajas al hacer uso de estas librer&amp;iacute;as, es dotar a los objetos de WPF de las cualidades de giro y de zoom, por medio de la propiedad &lt;i&gt;TranslateZoomRotateBehavior&lt;/i&gt;. Adicionalmente estas librer&amp;iacute;as evitan tener que tratar de forma directa el mensaje&lt;i&gt; WM_GESTAURES, &lt;/i&gt;que complicar&amp;iacute;a la programaci&amp;oacute;n de aplicaciones. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Se muestra a continuaci&amp;oacute;n como incluir la propiedad &lt;i&gt;TranslateZoomRotateBehavior&lt;/i&gt; en un objeto de WPF y as&amp;iacute; dotarlo de zoom y de rotacion:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/2_5F00_2DB772CF.png"&gt;&lt;img height="157" width="739" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/2_5F00_thumb_5F00_7B902284.png" alt="2" border="0" title="2" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Con la entrada de hoy hemos visto como recibir por parte de la aplicaciones las acciones b&amp;aacute;sicas que se realizan sobre los dispositivos tablet multitouch. De esta manera nuestra aplicaci&amp;oacute;n podr&amp;aacute; interactuar con el tablet y el usuario, aprovechando las ventajas de las funcionalidades incorporadas en los dispositivos multitouch. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Seguiremos dando entrada en &lt;a href="http://www.windowstecnico.com/"&gt;&lt;span style="text-decoration:underline;"&gt;Windows T&amp;eacute;cnico&lt;/span&gt;&lt;/a&gt; a nuevos posts de esta serie.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p align="justify"&gt;Para acabar, recuerda que si quieres aprender mucho m&amp;aacute;s sobre los secretos de los sistemas Microsoft Windows, te recomendamos leer el libro de&amp;nbsp;&lt;i&gt;Sergio de los Santos&amp;nbsp;&lt;/i&gt;&amp;quot;&lt;a href="http://www.informatica64.com/libros.aspx?id=mswindows"&gt;M&amp;aacute;xima Seguridad en Windows: Secretos T&amp;eacute;cnicos&lt;/a&gt;&amp;quot; , o siempre puedes suscribirte al&amp;nbsp;&lt;a href="http://feeds2.feedburner.com/WindowsTecnico"&gt;Canal RSS de Windows T&amp;eacute;cnico&lt;/a&gt;&amp;nbsp;para estar al d&amp;iacute;a de las novedades e informaci&amp;oacute;n t&amp;eacute;cnica de inter&amp;eacute;s.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_74C346BC.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_6BF33E70.png" width="141" height="33" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=4317" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://windowstecnico.com/archive/tags/Xna/default.aspx">Xna</category><category domain="http://windowstecnico.com/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://windowstecnico.com/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://windowstecnico.com/archive/tags/.Net/default.aspx">.Net</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/Multitouch/default.aspx">Multitouch</category><category domain="http://windowstecnico.com/archive/tags/Tablet/default.aspx">Tablet</category></item><item><title>Tablets MultiTouch con MS Windows 7: Herramientas</title><link>http://windowstecnico.com/archive/2011/03/11/tablets-multitouch-con-ms-windows-7-herramientas.aspx</link><pubDate>Fri, 11 Mar 2011 20:46:00 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:4283</guid><dc:creator>Ignacio Briones</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=4283</wfw:commentRss><comments>http://windowstecnico.com/archive/2011/03/11/tablets-multitouch-con-ms-windows-7-herramientas.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Damos continuaci&amp;oacute;n a la serie de entradas que present&amp;aacute;bamos en el post anterior &lt;/span&gt;&lt;a href="http://www.windowstecnico.com/archive/2011/03/09/tablets-multitouch-con-ms-windows-7-desarrollo-de-aplicaciones.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Tablets MultiTouch con MS Windows 7: Desarrollo de Aplicaciones&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt; . El objetivo fundamental de este segundo art&amp;iacute;culo de la serie es informar respecto de las herramientas de desarrollo disponibles para la generaci&amp;oacute;n de aplicaciones dirigidas a dispositivos tablet multitouch con Windows 7. Todas las utilidades y entornos analizados en el presente art&amp;iacute;culo pertenecen al entorno de desarrollo &lt;span style="text-decoration:underline;"&gt;&lt;a href="http://www.microsoft.com/spain/visualstudio"&gt;&lt;span style="text-decoration:underline;"&gt;MS Visual Studio .Net&lt;/span&gt;.&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt;El grupo de herramientas que seg&amp;uacute;n lo indicado en el p&amp;aacute;rrafo anterior vamos a presentar en esta entrada ser&amp;iacute;an las siguientes. En primer lugar el propio entorno de desarrollo Ms Visual Studio .Net haciendo uso de los lenguajes C# &amp;oacute; C++. Junto a ello una serie de utilidades pertenecientes al propio entorno como son&lt;span style="text-decoration:underline;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/ms754130.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;WPF(Windows Presentation Fundation)&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;, &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/aa937791"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Microsoft XNA&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt; y &lt;/span&gt;&lt;a href="http://www.microsoft.com/expression/products/Blend_Overview.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Microsoft Blend Expression&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="text-decoration:underline;"&gt;.&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Iniciamos esta visi&amp;oacute;n de herramientas con el propio Ms Visual Studio. Con este entorno podemos desarrollar aplicaciones usando directamente la interfaces del sistema operativo. Para trabajar de esta manera podemos optar por hacerlo con C# o C++ como ya indic&amp;aacute;bamos. A continuaci&amp;oacute;n vamos a valorar cada una de las dos posibilidades&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;La opci&amp;oacute;n de C++ nos va permitir usar de de forma nativa las APIs del sistema operativo, por medio de la plantilla &amp;ldquo;Aplicaciones Win32&amp;rdquo; que se presenta en la siguiente imagen. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/1_5F00_35D8AF29.png"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;img height="420" width="609" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/1_5F00_thumb_5F00_3BB352C2.png" alt="1" border="0" title="1" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Las ventajas proporcionadas por el uso de esta plantilla, son operar a muy bajo nivel y disponer de este modo de un mayor control de las acciones de nuestra Tablet. Sin embargo, esta operativa implica inevitablemente la generaci&amp;oacute;n de una gran cantidad de l&amp;iacute;neas de c&amp;oacute;digo de forma manual. En definitiva un arduo trabajo. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;A pesar de lo anterior, si nos decantamos por esta opci&amp;oacute;n de desarrollo, tendremos que importar y trabajar con la librer&amp;iacute;a &lt;i&gt;windows.h.&lt;/i&gt; Esta nos dar&amp;aacute; acceso a todas las estructura de datos que usa el sistema operativo para recibir tanto los gestos como las acciones multitouch de nuestro dispositivo.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/2_5F00_31327EA2.png"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;img height="55" width="206" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/2_5F00_thumb_5F00_4955E8FD.png" alt="2" border="0" title="2" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Dentro de todas las estructuras de datos que contiene la librer&amp;iacute;a, las que necesitaremos para nuestras aplicaciones son &lt;i&gt;WM_TOUCH&lt;/i&gt; y &lt;i&gt;WM_GESTURE&lt;/i&gt;, encargadas de gestionar cualquier movimiento que se produzca sobre nuestro dispositivo y realizar las acciones de respuesta resultantes.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;La otra opci&amp;oacute;n de desarrollo de forma directa que mencion&amp;aacute;bamos es el uso del lenguaje C#. Con &amp;eacute;ste tambi&amp;eacute;n podremos acceder al control de nuestros dispositivos, por medio de librer&amp;iacute;as de C++ o usando los elementos que luego describiremos.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En el caso de utilizar C# tendremos que trabajar con las librerias &lt;i&gt;windows.h&lt;/i&gt; y &lt;i&gt;winuser.h&lt;/i&gt;. Para ello ser&amp;aacute; necesario copiar varias l&amp;iacute;neas de estas en nuestro c&amp;oacute;digo, como son la definici&amp;oacute;n de constantes y de estructuras. Un breve ejemplo del c&amp;oacute;digo que necesitaremos de estas librer&amp;iacute;as, se presenta a continuaci&amp;oacute;n: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/3_5F00_48E9B608.png"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;img height="338" width="490" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/3_5F00_thumb_5F00_271DDD77.png" alt="3" border="0" title="3" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;De esta manera podremos capturar los eventos producidos por nuestra Tablet a trav&amp;eacute;s de los mensajes de Windows Processs. Eso s&amp;iacute;, seleccionando para ello el mensaje sobre el que vamos actuar, como se muestra seguidamente:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/4_5F00_6960CFED.png"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;img height="182" width="468" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/4_5F00_thumb_5F00_083743CC.png" alt="4" border="0" title="4" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Llegados a este punto ya podemos generar e incorporar nuestro c&amp;oacute;digo e iniciar as&amp;iacute; nuestra aplicaci&amp;oacute;n haciendo uso de C#.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Pero como trabajar con las metodolog&amp;iacute;as indicadas anteriormente puede ser realmente complicado, consumiendo adem&amp;aacute;s excesivo tiempo en las tareas de desarrollo, vamos a presentar el resto de herramientas, mencionadas al inicio de esta entrada, que trabajan sobre Ms Visual Studio y que facilitan considerablemente la labor del programador. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;La primera de ellas para C#, y probablemente de la que haremos m&amp;aacute;s uso, es &lt;a href="http://msdn.microsoft.com/es-es/library/ms754130.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;WPF (Windows Presentation Fundation).&lt;/span&gt;&lt;/a&gt; Se trata de un framework destinado a presentaciones y a trabajar con objetos gr&amp;aacute;ficos. Para ello utiliza los lenguajes XAML y C#. La combinaci&amp;oacute;n de ambos facilita considerablemente a los programadores las tareas de desarrollo y presentaci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Esta &amp;uacute;ltima alternativa no s&amp;oacute;lo ayuda a mejorar la apariencia de las aplicaciones, tambi&amp;eacute;n permite un mejor aprovechamiento de las ventajas de usabilidad que nos proporciona un dispositivo multitouch. Como ejemplo de ello podemos mencionar que los objetos de WPF presentan la propiedad &lt;i&gt;Interactions.Behavior, &lt;/i&gt;que posibilita la rotaci&amp;oacute;n de un objeto simplemente gir&amp;aacute;ndolo con los dedos. Para esta posibilidad, usaremos el c&amp;oacute;digo en XAML presentado a continuaci&amp;oacute;n y que en nuestro ejemplo posibilita el giro de un rect&amp;aacute;ngulo.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/5_5F00_4728C467.png"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/5_5F00_66D79E2F.png"&gt;&lt;img height="94" width="656" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/5_5F00_thumb_5F00_5422A478.png" alt="5" border="0" title="5" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Para una utilizaci&amp;oacute;n m&amp;aacute;s exhaustiva de elementos gr&amp;aacute;ficos en nuestras aplicaciones podemos optar tambi&amp;eacute;n por &lt;/span&gt;&lt;a href="http://www.microsoft.com/expression/products/Blend_Overview.aspx"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;span style="text-decoration:underline;"&gt;Microsoft Blend Expresions&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;. Este conjunto de utilidades para Visual Studio 2010 potencia el uso de gr&amp;aacute;ficos en las aplicaciones, as&amp;iacute; como la creaci&amp;oacute;n de animaciones. En combinaci&amp;oacute;n con WPF permite interactuar con los tablet multitouch. El resultado final son aplicaciones m&amp;aacute;s visuales, atractivas al usuario y todo ello con una mayor facilidad en las tareas de programaci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Con la entrada de hoy hemos visto que Visual Studio dispone de varias herramientas para ayudarnos a programar un dispositivo multitouch sin grandes complicaciones para ello, adem&amp;aacute;s de permitirnos como alternativa operar a bajo nivel para trabajar directamente con el dispositivo, si lo consideramos de necesidad a pesar de lo costoso de la tarea. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En las siguientes entradas de la serie, analizaremos en detalle el manejo de los eventos producidos por nuestros dedos al tocar la pantalla y como nuestras aplicaciones se dan cuenta de ello y reaccionan.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt;Esperamos que nos sigas en esta serie donde vamos a ofreceros informaci&amp;oacute;n de valor para todos aquellos que est&amp;eacute;is interesados en el desarrollo de aplicaciones para dispositivos tablet multitouch con Windows 7.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p align="justify"&gt;Para acabar, recuerda que si quieres aprender mucho m&amp;aacute;s sobre los secretos de los sistemas Microsoft Windows, te recomendamos leer el libro de&amp;nbsp;&lt;i&gt;Sergio de los Santos&amp;nbsp;&lt;/i&gt;&amp;quot;&lt;a href="http://www.informatica64.com/libros.aspx?id=mswindows"&gt;M&amp;aacute;xima Seguridad en Windows: Secretos T&amp;eacute;cnicos&lt;/a&gt;&amp;quot; , o siempre puedes suscribirte al&amp;nbsp;&lt;a href="http://feeds2.feedburner.com/WindowsTecnico"&gt;Canal RSS de Windows T&amp;eacute;cnico&lt;/a&gt;&amp;nbsp;para estar al d&amp;iacute;a de las novedades e informaci&amp;oacute;n t&amp;eacute;cnica de inter&amp;eacute;s.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_74C346BC.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_6BF33E70.png" width="141" height="33" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=4283" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://windowstecnico.com/archive/tags/Xna/default.aspx">Xna</category><category domain="http://windowstecnico.com/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://windowstecnico.com/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/Multitouch/default.aspx">Multitouch</category><category domain="http://windowstecnico.com/archive/tags/Tablet/default.aspx">Tablet</category></item></channel></rss>