Red de conocimiento informático - Problemas con los teléfonos móviles - Comentarios de programación de Windows para cada línea del programa

Comentarios de programación de Windows para cada línea del programa

#include lt; windows.hgt; //Archivos de encabezado que deben incluirse en la programación de Windows

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); declaración, se utilizará en wndclass.lpfnWndProc = WndProc;

//La función principal es la función de entrada

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow )

{

static TCHAR szAppName[] = TEXT ("HelloWin"); //Asigna "HelloWin" a szAppName[]

HWND hwnd; /Definir un identificador de ventana para identificar la ventana

MSG msg; //Definir una estructura de mensaje que contiene varios datos del mensaje

WNDCLASS wndclass; // Definir una clase de ventana, que también es una estructura La siguiente declaración es para modificar los datos de la estructura

wndclass.style = CS_HREDRAW | CS_VREDRAW; // El modo de dibujo de la ventana es redibujado horizontal y vertical

wndclass.lpfnWndProc. = WndProc; //La función de devolución de llamada es la función declarada al principio

wndclass.cbClsExtra = 0; //La memoria adicional de la clase (extra), configurada si no es necesaria es 0

wndclass.cbWndExtra = 0; //Memoria adicional para la ventana, igual que arriba

wndclass.hInstance = hInstance; //La instancia actual es una instancia pasada por el sistema y solo puede estar en de esta manera, otros sistemas lo harán por usted

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); //Carga el ícono ICON, NULL carga el ícono del sistema y el segundo parámetro es una identificación del icono en el sistema

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); //Igual que arriba, pero cargando el cursor

wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ; //Establece que el fondo de la ventana es blanco

wndclass.lpszMenuName = NULL; //Debido a que no hay menú, configúrelo en vacío

wndclass.lpszClassName= szAppName; Elija una clase de ventana para la clase de ventana que diseñó Nombre

if (!RegisterClass (amp; wndclass)) //Registra la ventana que acaba de diseñar

{

MessageBox (NULL, TEXT ("¡Este programa requiere Windows NT!"),

szAppName, MB_ICONERROR); //Si el registro no se realiza correctamente, aparecerá un cuadro de mensaje y se mostrará el texto entre comillas. mostrado

devuelve 0

>

}

hwnd = CreateWindow( szAppName, // nombre de clase de ventana

TEXT ("El programa Hello"), // título de ventana

WS_OVERLAPPEDWINDOW, // estilo de ventana

CW_USEDEFAULT, // posición inicial x Los puntos X e Y predeterminados en la esquina superior izquierda de la ventana

CW_USEDEFAULT, // posición y inicial

CW_USEDEFAULT, // tamaño x inicial El ancho y alto de la ventana predeterminada

CW_USEDEFAULT, // tamaño y inicial

NULL, // el identificador de la ventana principal tiene no hay ventana principal

NULL, // el identificador del menú de la ventana no tiene menú y el identificador del menú está vacío

hInstance, // la instancia del programa maneja la instancia actual del programa, pasada por el sistema

NULL); // parámetros de creación

ShowWindow (hwnd, iCmdShow); //Mostrar ventana

UpdateWindow (hwnd); /p>

while (GetMessage (amp; msg, NULL, 0, 0)) // Bucle de mensajes, recibe el mensaje

{

TranslateMessage (amp; msg) ; // Traducir el mensaje,

DispatchMessage (amp; msg) ; // Distribuir el mensaje

}

return msg.wParam ; en el mensaje, el valor solo será 0 al salir del programa

}

//Definición de la función de devolución de llamada

LRESULT CALLBACK WndProc (HWND hwnd, UINT mensaje, WPARAM wParam, LPARAM lParam)

{

HDC hdc; //Definir el identificador de contexto del dispositivo

PAINTSTRUCT ps //Una estructura

RECT rect; //Definir un rectángulo

switch (mensaje)

{

case WM_CREATE: //El mensaje recibido se envía cuando se abre la ventana acaba de ser creado

PlaySound (TEXT (" hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC); //Reproducir sonido

return 0;

case WM_PAINT: //Mensaje recibido, la ventana cambia cuando

hdc = BeginPaint (hwnd, amp; ps); //Obtener el identificador de contexto del dispositivo

GetClientRect (hwnd, amp; rect); //Obtiene el rectángulo del área del cliente actual

p>

DrawText (hdc, TEXT ("Hola, Windows 9)

8!"), -1, amp; rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER); //Emite el texto entre comillas y los siguientes parámetros definen su método de salida

EndPaint (hwnd, amp; ps); //Libera el identificador de contexto del dispositivo

return 0;

case WM_DESTROY: //Mensaje recibido cuando se destruye la ventana

PostQuitMessage (0); //Salir del programa

return 0;

}

return DefWindowProc (hwnd, message, wParam, lParam); /No se ha definido ningún procesamiento. El sistema procesa los mensajes del método de forma predeterminada

}