Manejo de características de Windows 7
Como están todos, hace tiempo hice una pregunta, que fue “Creación de jumplist en Windows 7”, como el win en ese entonces era relativamente nuevo, no había información en club Delphi (al menos no hasta donde busque), y esta característica no me urgía, pues simplemente abandone, pero aun así las ideas que incluían jumplist me seguían rondando por la cabeza y como tuve un par de días semi libres, ps decidí meterme y responderme a mí mismo, solo que preferí hacer otro hilo, en forma de tutorial sobre todas las nuevas características que nos trae el win 7 y de cómo manipularlas desde el buen amigo builder (esto es algo que debí haber hecho desde que salió el win 7, pero el tiempo me faltaba), bueno manos a la obra.
1 agrupación de los botones en la barra de tareas. http://www.megapix.com/?p=1KQQFG7Y.jpg Como ya sabrán en Windows 7 los botones de una misma aplicación se agrupan en uno solo, pero ¿Cómo es que Windows 7 identifica cada aplicación y la separa debidamente, incluso ejecutando barias instancias de una misma aplicación? La respuesta es, que cada aplicación consta de un identificador la cual es una cadena de formato libre de 128 caracteres, en la cual podemos introducir el nombre de la empresa, nombre y versión de la aplicación y cualquier otra cosa que se nos apetezca, si no es establecida por nosotros, el sistema le asignara una determinada por el identificador de proceso y el nombre de la aplicación, para establecer esta cadena contamos con el api “SetCurrentProcessExplicitAppUserModelID”, para el caso de un identificador de aplicación y “SHGetPropertyStoreForWindow” para el cambio del ID de una ventana. Una vez explicado esto procedo a dejar algo de código y el correspondiente ejemplo subido a MU. Forma de uso de SetCurrentProcessExplicitAppUserModelID Código:
SetCurrentProcessExplicitAppUserModelID( L"Identificador.MiAplicacion.MiVercion" ); Código:
//Hay que tener en cuenta que “PKEY_AppUserModel_ID” está ya definida en “PropKey.h”, |
2 iconos superpuestos y barras de progreso.
http://www.megapix.com/?p=OO6VT132.jpg La mejor forma de usar estas características de forma nativa es con la clase “ITaskbarList3”, es realmente simple lo único que hay que hacer es crear un puntero de este objeto e instanciarlo con “CoCreateInstance” una función para inicializar objetos con un CLSID especifico, no hay mucho más que explicar ya que todos sabemos cómo funcionan las barras de progreso y los iconos así que vamos directo al código. Código para superponer un icono Código:
//Creamos e inicializamos el objeto ITaskbarList3 Código:
|
3 barra de herramientas miniatura (botones en el preview).
http://www.megapix.com/?p=XKG2LLGN.jpg A mi parecer esta es una característica muy útil, con esto puedes colocar hasta 6 botones (según la MSDN, no probé yo), que te servirán como un mini control remoto que te permite ejecutar X función de tu aplicación todo desde el preview, con lo que le ahorras al usuario un par de clicks y cambiar completamente a tu aplicación. En este caso se complica un poco más ya que tendremos que gestionar los mensajes de tipo “WM_COMMAND” y según el índice será tu acción. Al igual que con las características anteriores usaremos la clase “ITaskbarList3” y la estructura “THUMBBUTTON” para crear la mini-barra, y el puntero “Application->OnMessage” para la gestión de los mensajes. Creación de la barra Código:
TIcon* ico = new TIcon; Código:
switch ( Msg.message ) { |
4 Jump List.
http://www.megapix.com/?p=ODK1H4HI.jpg Esta es la característica más útil que encontré en Windows 7, y la razón de ser de este mini tutorial, es la parte que me costó entender más y aun no creo entenderla del todo, pero básicamente, las jump list son listas de accesos directos que se despliegan al hacer click derecho sobre un icono de una aplicación, estos accesos directos pueden iniciar determinados archivos, o nuestra/ otra aplicación con ciertos parámetros, parámetros que manejaremos nosotros, y que doy por supuesto que cualquiera ha manejado antes así que solo pondré el código para crear una jumplist simple que constara de un acceso y una categoría, si más adelante le descubro una que otra curiosidad ps la pondré en este mismo lugar. Código:
PROPERTYKEY PKEY_Title; Pd1. Lamento que este mini tuto termine tan abruptamente sin una explicación extensa de las Jump List y sus posibilidades, la cuestión es que yo mismo no he visto todo, sin mencionar que se me acabo el día que decidí dedicarle a este tema, así que si alguien extiende este tema bienvenido sea. Nos vemos |
Hola _cero_
Muy agradecido por tu aporte. Un saludo. :) |
La franja horaria es GMT +2. Ahora son las 23:58:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi