Computadoras

Páginas: 20 (4972 palabras) Publicado: 12 de octubre de 2012
6.1 Controles de Windows
Existen una serie de controles que tienen la función de interactuar con el usuario. Un control es un tipo especial de ventana que permite un tipo específico de interacción del usuario. Por ahora nos concentraremos en 3 de los controles más utilizados en Windows: control etiqueta, control caja de texto y control botón.
|
fig. 6.1.1 Ventana generada con elPrograma5.cpp |
Antes de analizar líneas de código e introducirle en la teoría, me gustaría que viese el resultado de generar el Programa5.cpp ya que así le será más fácil imaginar el alcance de este capítulo. Para generar una ventana como la que se muestra en la figura anterior, es necesario seguir los siguientes pasos:
1. Abrir el entorno de desarrollo (en mi caso Dev-C++)
2. Crear un nuevoproyecto Windows (ver apéndice B.1) que llamaremos Ejercicio5.
3. Agregar un Archivo de encabezado a nuestro proyecto (ver apéndice B.2) al que llamaremos ventana.h (todo en minúsculas). Este archivo lo reutilizaremos en otros proyectos para ahorrar líneas de código.
ventana.h | Copiar cógido |
#include <windows.h>

HWND CreaVentana(char szNombreAplicacion[], int ancho, int alto,HINSTANCE hInstancia, WNDPROC ProcedimientoVentana)
{
    HWND hwnd;

    WNDCLASSEX ventana;

    //Configuramos la ventana
    ventana.cbSize = sizeof(ventana);
    ventana.style = CS_HREDRAW | CS_VREDRAW;
    ventana.lpfnWndProc = ProcedimientoVentana;
    ventana.hInstance =  hInstancia;
    ventana.lpszClassName = szNombreAplicacion;
    ventana.hIcon = LoadIcon (NULL, IDI_APPLICATION);    ventana.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    ventana.hCursor = LoadCursor (NULL, IDC_ARROW);
    ventana.lpszMenuName = NULL;
    ventana.cbClsExtra = 0;
    ventana.hbrBackground = (HBRUSH) (COLOR_BTNFACE+1);
    ventana.cbWndExtra = 0;

   // Registrar la clase de ventana, si falla, salir del programa
   if(!RegisterClassEx(&ventana)) return (FALSE);

   hwnd =CreateWindowEx(
           0,
           szNombreAplicacion,     //Nombre de clase de la ventana a la que pertenece
           szNombreAplicacion,     //Título de la ventana
           WS_OVERLAPPEDWINDOW,
           CW_USEDEFAULT,
           CW_USEDEFAULT,
           ancho,                   //Ancho
           alto,                    //Alto
           HWND_DESKTOP,
           NULL,
          hInstancia,
           NULL);

   ShowWindow(hwnd, SW_SHOWNORMAL);

   return hwnd;
}
4. Agregar un Archivo C++ a nuestro proyecto (ver apéndice B.2) al que llamaremos Programa5.cpp.
5. Escribir el siguiente código en el archivo Programa5.cpp. Puede hacer uso del Copy&Paste para agilizar, más adelante analizaremos las partes del código correspondientes a la creación decontroles.
Programa5.cpp | Copiar cógido |
#include "ventana.h"

// Se encarga de informar si hubo un error al crear el control
// y cambia la fuente por la predeterminada en el Panel de Control
HWND Control(HWND hwndHija, HWND hwndPadre)
{
  if (hwndHija == NULL)
    MessageBox(hwndPadre, "No se puede crear el control.", "¡Error!",
               MB_OK | MB_ICONERROR);
  else
   SendMessage(hwndHija, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),
                MAKELPARAM(FALSE, 0));

  return hwndHija;
}

// Crea una Etiqueta o Labelbox
//==============================
HWND Etiqueta(HWND hPadre, LPSTR texto, int x, int y, int ancho, int alto)
{
  HWND hEtiqueta;
  hEtiqueta = CreateWindowEx(NULL, "STATIC", texto, WS_CHILD | WS_VISIBLE,
                            x, y, ancho, alto, hPadre, NULL, NULL, NULL);

  return Control(hEtiqueta, hPadre);
}

// Crea una Caja de Texto o Textbox
//==================================
HWND Caja_Texto(HWND hPadre, LPSTR texto, int x, int y, int ancho, int alto)
{
  HWND hCaja_Texto;
  hCaja_Texto = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", texto,
                               WS_CHILD | WS_VISIBLE |...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Computador
  • La computadora
  • La computadora
  • Computadora
  • Computo
  • Computo
  • Computadora
  • La computadora

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS