Go to content Go to navigation Go to search

Evento virtual para experimentar la nueva eficiencia el 7 de octubre de 2009

September 25th, 2009 by JuanK

clip_image001

Experimente La Nueva Eficiencia, en vivo, el 7 de octubre de 2009. Descubra los beneficios que le brindan los productos que Microsoft lanzara este año y sea el primero en conocerlos.

Algunas charlas incluirán:

Windows 7

  • Características, despliegue y seguridad en Windows 7.
  • De Vista a 7: virtualización de escritorios, migración de redes, fundamentos de administración y optimización de aplicaciones.

Windows Server 2008 R2

  • Revisión de la nueva tecnología, optimización en el consumo de energía.
  • Mejoras de virtualización, analizador de mejores prácticas e infraestructura para trabajar en cualquier sitio.

Exchange Server 2010

  • Revisión general, movilidad y Outlook Web Access.
  • Alta disponibilidad y almacenamiento.
  • Herramientas de manejo, transición y descargas.

Forefront

  • Introducción y la nueva generación de productos Forefront.
  • Forefront y Office SharePoint Server, mejor juntos!

Information Workers

  • Introducción a Office 2010.
  • Novedades, mejoras y trucos.

 

Yo participaré con dos charlas que tratarán temas de desarollo utilizando las nuevas características del escritorio de Windows y de como aprovechar Visual Studio 2010 con C# 4.0 para crear y mantener aplicaciones de Office de una manera más eficiente.

 

Recuerden registrarse cuanto antes y hacerse fan de la página Facebook.

Saludos.

Bookmark and Share

C# – Cómo modificar el comportamiento del botón minimizar, maximizar, etc.

September 13th, 2009 by JuanK

Para cambiar el comportamiento del botón minimizar se debe recurrir a un mecanismo pocas veces utilizado por los desarrolladores de código administrado, hay que acceder al bucle de mensajes del sistemas de ventana de ventanas, más conocido como WndProc.

En Windows Forms esta es una tarea relativamente sencilla, la cual veremos unas líneas más adelante.

 

Como sabe una ventana que se debe maximizar o minimizar?

El bucle de mensajes

Las ventanas – y los demás controles – funcionan gracias a un bucle de mensajes, todo lo que manejamos nosotros como eventos : click del mouse, mover, cerrar, cambiar tamaño, maximizar etc, realmente es controlado por un bucle en donde se envían diferentes mensajes a la ventana, esta a su vez tiene un procedimiento que recibe estos mensajes y con base a los mensajes recibidos puede hacer una u otra cosa según se programe.

 

Si, para algunos esto ya debe estar sonando a cuento, pero las cosas son así por debajo de lo que usamos tradicionalmente. El tema del artículo no es explicar como funciona un ciclo de mensajes así que por el momento lo dejaremos hasta allí y quien quiera profundizar puede consultar esta fuente en internet http://www.winprog.org/tutorial/message_loop.html

 

Por el momento lo que si nos interesa del bucle de mensajes es que algunos de esos mensajes se utilizan para maximizar y minimizar las ventanas, es decir cuando uno utiliza alguna funcionalidad para minimizar una ventana, lo que ocurre realmente es que se envía el mensaje que dice: hey! minimízate y ya el manejador de la ventana hará lo necesario para minimizarse.

Los Mensajes

Cada vez que se presiona cualquiera de los botones del marco de la ventana (maximizar, minimizar, restaurar, cerrar, etc.) o que se ejecute alguna acción sobre el menú de la ventana, el sistema mensajes envía a la ventana el mensaje WM_SYSCOMMAND, este mensaje esta definido dentro de la API de Windows de esta manera:

const int
WM_SYSCOMMAND = 0x112;

 

Este mensaje a su ves esta acompañado de un parámetro WParam el cual contiene información relevante a que acción se ha realizado con el menú o los botones de la ventana, entre estos mensajes encontramos:

const int SC_MINIMIZE     = 0xF020;
const int SC_MAXIMIZE     = 0xF030;
const int SC_CLOSE        = 0xF060;

 

WndProc en Windows Forms

Para acceder a este procedimiento desde Windows Forms basta con sobre escribir el método WndProc:

 
protected override void WndProc(ref Message m)
{
   base.WndProc(ref m);
}

Implementación

Para encajar las piezas lo que se debe hacer es preguntar dentro de WndProc acerca de que mensaje se ha recibido, si el mensaje es WM_SYSCOMMAND entonces se pregunta acerca del parámetro LParam para verificar que comando ha sido enviado, es allí donde podemos interceptar el mensaje que nos interesa.

 

Siempre es necesario llamar al código base cuando no vayamos a hacer nada con un mensaje para que de esta forma la ventana se comporte de manera normal.

 
const int WM_SYSCOMMAND = 0x112;
const int SC_MINIMIZE = 0xF020;
 
protected override void WndProc(ref Message m)
{
    if (m.Msg == WM_SYSCOMMAND)
    {
        if (m.WParam == (IntPtr)SC_MINIMIZE)
            MessageBox.Show("Hacer lo que quieras en vez de minimizar");
 
        base.WndProc(ref m);
    }
    else
        base.WndProc(ref m);
}

Para profundizar un poco más acerca de como modificar el comportamiento de las ventanas les recomiendo revisar este link: http://juank.black-byte.com/c-minimizar-maximizar-ventana-sin-borde/

 

Bookmark and Share

Curso – Programando a fondo con C#

September 1st, 2009 by JuanK

Para inscribirte has clic aquí:

image

 

Curso

Programando a fondo con C#

Instructor

Juan Carlos Ruiz Pacheco Microsoft -MVP Visual C#

Cupos

20 cupos, se abre con mínimo 10 cupos

Inicio

14-09-2009

Finalización 

30-09-2009

Horario

lunes a viernes de 06:30 p.m. a 09:30 p.m.

Dirección

Salón Interacción Fundación Universitaria CAFAM
AK 68 N° 90-88 CAFAM Floresta, Bogotá – Colombia

Duración

30 horas aproximadamente

Costo

$1’000.000

Juan Carlos Ruiz Pacheco Microsoft MVP Visual C#, director de la comunidad, uno de nuestros más destacados conferencistas e instructores dictará en Bogotá el curso "Programando a fondo con C#", el curso realiza un estudio de las diferentes características del lenguaje C# desde una perspectiva no tradicional.

Este  se encuentra dividido en tres bloques principales:

 

  1. Revisión de características básicas… de una manera no básica: Se abordan incluso temas de conocimiento básico profundizando en su verdadera naturaleza y los potenciales inconvenientes o situaciones que se pueden presentar en un entorno real. Las diferentes temáticas permiten identificar ciertos comportamientos ‘extraños’ dentro de las aplicaciones lo cual permitirá al  estudiante adquirir destreza en su identificación y prevención.
  2. Características Avanzadas del lenguaje: Se revisan temas como código inseguro y de administración de memoria a través de teoría y de ejercicios explicativos.
  3. Actualización de lenguaje: El recorrido incorpora una exploración en las versiones y características distintivas de C# 2.0, 3.0, 3.5 y la próxima versión 4.0, por lo que se trataran temas como LINQ, inferencia de tipos, tipos dinámicos, programación en múltiples procesadores entre otros.

Formas de Pago, previa inscripción:

1. Efectivo: llevar el dinero el primer día de inicio de clases

2. Consignación: llevar recibo de consignación el primer día de inicio de clases. Cuenta Bancolombia: 209-358742-73

Requisitos:

· Tener experiencia intermedia en POO

· Conocer el lenguaje C# en un nivel intermedio

Recursos:

· El instructor entregara los enunciados del temario de las clases en archivo PDF

· Se usaran ejercicios de entrenamiento adicional relacionado con los temas revisados

· Cada estudiante debe asistir a las clases con:

o Portátil

o Visual Studio 2008 o Visual C# Express 2008

 

Para requisitos y mayor información puedes descargar estos archivos adjuntos:
* Presentación del curso
* Resumen Temario

 

Para inscribirte has clic aquí:

image

Bookmark and Share