Compartir a través de


CWnd::OnSysCommand

El marco de trabajo llama a esta función miembro cuando el usuario selecciona un comando de menú de Control, o cuando el usuario selecciona el maximizar el botón o Minimizar.

afx_msg void OnSysCommand(
   UINT nID,
   LPARAM lParam 
);

Parámetros

  • nID
    Especifica el tipo de comando del sistema solicitado.Este parámetro puede ser de los siguientes valores:

    • Cierre deSC_CLOSE el objeto de CWnd .

    • SC_HOTKEY Activar el objeto de CWnd asociado a la tecla de acceso rápido aplicación- especificada.la palabra de orden inferior de lParam identifica HWND de la ventana para activar.

    • Desplazamiento deSC_HSCROLL horizontalmente.

    • Recuperación deSC_KEYMENU un menú con una tecla.

    • SC_MAXIMIZE (o SC_ZOOM) maximiza el objeto de CWnd .

    • SC_MINIMIZE (o SC_ICON) Minimizar el objeto de CWnd .

    • Recuperación deSC_MOUSEMENU un menú con un clic del mouse.

    • Movimiento deSC_MOVE el objeto de CWnd .

    • Movimiento deSC_NEXTWINDOW a la siguiente ventana.

    • Movimiento deSC_PREVWINDOW a la ventana anterior.

    • Ventana de restauración deSC_RESTORE a la posición normal y el tamaño.

    • SC_SCREENSAVE ejecuta la aplicación del protector de pantalla especificada en la sección [de arranque] del archivo de SYSTEM.INI.

    • Tamaño deSC_SIZE el objeto de CWnd .

    • SC_TASKLIST ejecuta o genera la aplicación administrador de tareas de Windows.

    • Desplazamiento deSC_VSCROLL verticalmente.

  • lParam
    Si elige un comando de CONTROL-menú con el mouse, lParam contiene las coordenadas del cursor.La palabra de orden inferior contiene la coordenada X, y la palabra de alto nivel contiene la coordenada Y.si no este parámetro no se utiliza.

    • SC_HOTKEY Activar la ventana asociada a la tecla de acceso rápido aplicación- especificada.la palabra de orden inferior de lParam identifica la ventana para activar.

    • SC_SCREENSAVE ejecuta la aplicación de la PANT- guardar especificada en la sección de escritorio del Panel de control.

Comentarios

De forma predeterminada, OnSysCommand realiza el orden de CONTROL-menú acciones predefinidos especificados en la tabla anterior.

En los mensajes de WM_SYSCOMMAND , los cuatro bites clara de la parte inferior del parámetro de nID se utilizan internamente por Windows.Cuando una aplicación prueba el valor de nID, debe combinar el valor 0xFFF0 con el valor de nID mediante el operador bit a bit para obtener el resultado correcto.

Los elementos de menú de un menú de Control se pueden modificar con GetSystemMenu, AppendMenu, InsertMenu, y el miembro de ModifyMenu funciona.Las aplicaciones que modifican el menú de Control deben procesar los mensajes de WM_SYSCOMMAND , y cualquier mensaje de WM_SYSCOMMAND no controlado por la aplicación deben pasar en OnSysCommand.Cualquier valor de comando agregado por una aplicación debe procesarse por la aplicación y no se puede pasar a OnSysCommand.

Una aplicación puede realizar cualquier comando del sistema en cualquier momento pasando un mensaje de WM_SYSCOMMAND a OnSysCommand.

Las pulsaciones de teclas de aceleración (acceso directo) que se definen a los elementos del menú de Control se convierten en las llamadas de OnSysCommand ; el resto de las pulsaciones de tecla de acelerador se convierten en los mensajes de WM_COMMAND .

[!NOTA]

Esta función miembro llaman el marco para que la aplicación pueda controlar un mensaje de Windows.Los parámetros pasados a la función reflejan los parámetros recibidos por el marco cuando el mensaje se recibió.Si llama a la implementación de la clase base de esta función, esa implementación utilizará los parámetros pasados originalmente con el mensaje y no los parámetros que se proporciona a la función.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase de CWnd

Gráfico de jerarquía

WM_SYSCOMMAND