Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Puede algún amigo darme una introducción detallada a los pasos específicos de la programación de un subprograma de Windows específico? ¡Gracias!

¿Puede algún amigo darme una introducción detallada a los pasos específicos de la programación de un subprograma de Windows específico? ¡Gracias!

1. Primero escriba una función winmain y defina un objeto de clase de ventana (wndclass)

2. Inicialice los parámetros del objeto de ventana

3. Función, crear ventana

4. Llamar a la función showwindow, actualizar la función de ventana

5. Luego escribir la función de procedimiento de ventana

El programa de ventana más simple

#include lt;windows.hgt;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

MessageBox (NULL, TEXT ("¡Hola, Windows 98!"), TEXT ("HelloMsg"), 0

return

}

p>

Programa de ventana

#include lt;windows.hgt;

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

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

HWND hwnd;

MSG msg;

WNDCLASS wndclass;

wndclass.style = CS_HREDRAW | CS_VREDRAW;

wndclass.lpfnWndProc = WndProc; //Puntero de función

wndclass.cbClsExtra = 0

wndclass.cbWndExtra = 0; .hInstance = hInstance;

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION);

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);

wndclass. hbrBackground = (HBRUSH ) GetStockObject (WHITE_BRUSH);

wndclass.lpszMenuName = NULL

wn;

dclass.lpszClassName = szAppName;

if (!RegisterClass (amp; wndclass))

{

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

szAppName, MB_ICONERROR);

devuelve 0;

}

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

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

WS_OVERLAPPEDWINDOW, // estilo de ventana

CW_USEDEFAULT, // posición x inicial

CW_USEDEFAULT, // posición y inicial

CW_USEDEFAULT, // tamaño x inicial

CW_USEDEFAULT, // tamaño y inicial

NULL, // identificador de la ventana principal

NULL, // identificador del menú de la ventana

hInstance, // identificador de la instancia del programa

NULL // parámetros de creación

ShowWindow (hwnd, iCmdShow);

UpdateWindow (hwnd)

while (GetMessage (amp; msg, NULL, 0, 0))

{

Traducir mensaje (amp; mensaje);

DispatchMessage (amp; mensaje);

/p>

return msg.wParam;

}

LRESULT CALLBACK WndProc (HWND hwnd, mensaje UINT, WPARAM wParam, LPARAM lParam) //Función de procedimiento de ventana

{

HDC hdc;

PAINTSTRUCT ps;

RECT rect;

cambiar (mensaje)

{

caso WM_CREATE:

devolver 0;

caso WM_DESTROY:

PostQuitMessage (0);

devuelve 0;

}

devuelve DefWindowProc (hwnd, mensaje, wParam, lParam);