Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Tu explorador no es compatible

Debes actualizar tu explorador para usar el sitio.

Actualiza a la versión más reciente de Internet Explorer

Cómo quitar la barra de título en una aplicación Windows

Este artículo se publicó anteriormente con el número E10092
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.
Resumen
Este artículo demuestra cómo podemos quitar la barra de título de una aplicación Windows.
Más información
NOTITLE quita la barra de título de nuestra aplicación, de la siguiente manera:
  1. Se quita el menú de la ventana, llamando a SetMenu con el parámetro hMenu = NULL.
  2. Obtenemos el estilo de la ventana, llamando a GetWindowLong y pasándole el parámetro nIndex = GWL_STYLE.
  3. Quitar el bit de Caption (titulo).
  4. Llamar a SetWindowLong() GWL_STYLE de modo que podemos cambiar el estilo de la ventana.
  5. Llamamos a InvalidateRect() para que repinte la ventana.
NOTITLE vuelve a poner el título de la ventana siguiendo los siguientes pasos:
  1. Se añade el menú de la ventana, llamando a SetMenu con el parámetro hMenu.
  2. Obtenemos el estilo de la ventana, llamando a GetWindowLong y pasándole el parámetro nIndex = GWL_STYLE..
  3. Se añade el bit de Caption (titulo).
  4. Llamar a SetWindowLong() GWL_STYLE de modo que podemos cambiar el estilo de la ventana.
  5. Llamamos a InvalidateRect() para que repinte la ventana.


CÓDIGO DE EJEMPLO

//********************************************************************////  FUNCION: MainWndProc()                                                     ////  Cuando seleccionamos "NoTitulo!", desaparece el menu//  Haciendo doble click con el boton izquierdo del raton//  sobre la ventana, vuelve a aparecer////********************************************************************LRESULT CALLBACK MainWndProc (HWND hWnd,UINT uMessage,WPARAM wParam, LPARAM lParam)   {      FARPROC lpProcAbout;      DWORD dwStyle;      static LONG wMenuHandle;      static BOOL bNoTitle = FALSE;      switch (uMessage)      {         case WM_LBUTTONDBLCLK: // Añadir barra de título            if (bNoTitle)            {            // Obtiene el estilo de ventana actual, y selecciona            //  los que queremos para el título               dwStyle = GetWindowLong(hWnd, GWL_STYLE);               dwStyle |= WS_OVERLAPPEDWINDOW;            // Guardamos el handle de menu               wMenuHandle = SetWindowLong(hWnd, GWL_ID, wMenuHandle);            // Establecemos el nuevo estilo               SetWindowLong(hWnd, GWL_STYLE, dwStyle);            // Volvemos a dibujar la ventana               SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE |                   SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME);               ShowWindow(hWnd, SW_SHOW);               bNoTitle = FALSE;            }    // if (gbNoTitle)            break;         case WM_COMMAND:            switch (wParam)            {               case IDM_NOTITLE:                      // Obtenemos el estilo actual                  dwStyle = GetWindowLong(hWnd, GWL_STYLE);                  dwStyle &= ~(WS_CAPTION | WS_SYSMENU                     | WS_MINIMIZEBOX | WS_MAXIMIZEBOX) | WS_BORDER;                  // Las ventanas Overlapped o popup que no utilizan                   // un menú se crean con el parámetro hMenu de                   // CreateWindow a 0.                  // No queremos que nuestra ventana tenga menú,                   // por lo que usando GWW_ID, lo establecemos a 0                  // y guardamos el handle de menu antiguo,                   // guardándolo por si lo necesitamos después                  wMenuHandle = SetWindowLong(hWnd, GWL_ID, 0);                  // Establecer el nuevo estilo                  SetWindowLong(hWnd, GWL_STYLE, dwStyle);                  // Redibujar el marco de la ventana                  SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE |                      SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME);                  ShowWindow(hWnd, SW_SHOW);                  bNoTitle = TRUE;                  break;            default:               return (DefWindowProc(hWnd, uMessage, wParam, lParam));            }    // switch (wParam)            break;         case WM_DESTROY:            PostQuitMessage(0);            break;         default:            return (DefWindowProc(hWnd, uMessage, wParam, lParam));      }     // switch (uMessage)      return (0);   }   // MainWndProc()


PRECAUCIÓN: CUALQUIER UTILIZACION POR SU PARTE DEL CÓDIGO INCLUIDO ENESTE ARTÍCULO SE HARÁ A SU CUENTA Y RIESGO. Microsoft facilita estecódigo"tal cual" sin garantía de ningún tipo, ya sea explícita oimplícita, incluyendo expresamente en tal exención de responsabilidady, a efectos meramente enunciativos y no limitativos, las garantíaslegales mercantiles implícitas y/o la adecuación a un propósito ofinalidad en particular .
Propiedades

Id. de artículo: 550091 - Última revisión: 05/05/1997 10:30:00 - Revisión: 1.0

  • Microsoft Visual C++ 4.0 Standard Edition
  • barra esconder title visualc KB550091
Comentarios
I=4050&did=1&t=">