2011-09-27 51 views
5

estoy usando estos estilos para maximizar la ventana al llamar CreateWindow
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
Esto desactiva la casilla de maximizar, pero ¿hay alguna manera de que pueda eliminar por completo?C++ de Windows eliminar cuadro

+0

No, no es posible. –

+3

Creo que sería una mala idea eliminarlo debido a la usabilidad. El botón inmediatamente a la izquierda de cerrar siempre es maximizar y hacia la izquierda siempre se minimiza. Cambiar cosas así confunde a la gente. – IronMensan

+0

@HansPassant: ¿PUEDE _PLEASE_ responder con un enlace a donde puedo leer más sobre "No es posible". Es realmente difícil de creer que Microsoft no proporcione una manera de hacer esto ... (pero lo he buscado, y hasta ahora no puedo probar que estés equivocado :) Gracias – ryyker

Respuesta

2

No es fácil, pero si va a dibujar la barra de título usted mismo, en este caso puede hacerlo.

Para que tenga una idea, este artículo Adding a 'Minimize to tray'-button to a Form's caption bar explica cómo agregar un botón. La eliminación del botón estándar es casi lo mismo: personalización de non-client area.

1

Esto eliminará el cerrar, minimizar y maximizar los botones de un panel de Windows 7me di cuenta que es muy (muy) tarde en llegar, pero lo publicado aquí, ya que puede ayudar a alguien con el mismo problema .

void ClearButtons(void) 
{ 
    int index = WS_BORDER; 
    unsigned int a = (unsigned int)((WS_BORDER | WS_CAPTION) & (~WS_ICONIC)); 

    LONG_PTR lPtr; 
    HWND hWnd = GetActiveWindow(); 
    lPtr = GetWindowLongPtr(hWnd, index); 
    SetWindowLongPtr(hWnd, GWL_STYLE, a); 
} 
Cuestiones relacionadas