Red de conocimiento informático - Conocimiento del nombre de dominio - Programación de interfaz gráfica en lenguaje C

Programación de interfaz gráfica en lenguaje C

/*El siguiente programa ha pasado la prueba de Visual C++ 6.0 y puede aparecer una ventana normal de Windows*/

#pragma comment (enlazador, "/SUBSYSTEM:Windows/ENTRY:mainCRTStartup ")

# include & ltwindows.h & gt

/*Hacer que el nombre de la clase sea una variable global*/

char SZ class name[]= "aplicación de Windows";

/*Esta función es llamada por la función interna de Windows DispatchMessage () */

Procedimiento de ventana de devolución de llamada LRESULT (HWND hwnd, mensaje UINT, WPARAM wParam, LPARAM lParam)

{

HDC hdc

PAINTSTRUCT ps

Rectángulo RECT;

Interruptor (mensaje)/*Procesando información*/

{

Caso WM_DESTROY:

PostQuitMessage(0); /*Enviar WM_QUIT a la cola de mensajes*/

Pausa;

Caso WM_PAINT:

hdc = comenzar pintura(hwnd & PS);

GetClientRect(hwnd &rect);

DrawText ( hdc, Texto ("¡Hola, Windows NT!"), -1, & amprect, DT_single line DT_CENTER);

topcoat(hwnd&PS);

p>

Break;

Valor predeterminado: /*Mensaje no controlado*/

Devuelve DefWindowProc (hwnd, message, wParam, lParam);

}

Devuelve 0;

}

/*Esta es la función principal*/

int main (void)

{

h instancia hThisInstance = GetModuleHandle(NULL);

int nFunsterStil = SW _ SHOW

HWND hwnd/*Este es el identificador de la ventana */

Mensaje MSG; /*Los mensajes de la aplicación se almacenan aquí*/

WNDCLAS * wincl/*Estructura de datos de la clase de ventana*/

/ *Estructura de la ventana*/

wincl.hInstance = hThisInstance

wincl .lpsz nombre de clase = SZ nombre de clase;

wincl = procedimiento de ventana /* Esta función es llamada por el. Sistema operativo Windows */

wincl.style = CS _ DBLCLKS/*Obtener el comando de doble clic*/

wincl .CB size = sizeof(WNDCLAS *);

p>

/*Usar icono predeterminado y puntero del mouse*/

wincl.hIcon = LoadIcon (NULL, IDI_Application);

wincl.hIconSm = LoadIcon ( NULL, IDI_Application);

wincl.hCursor = LoadCursor (NULL, IDC_ARROW);

wincl.lpszM

enuName = NULL /*Sin menú*/

wincl .cbcl * tra = 0; /*No hay bytes adicionales después de la clase de ventana*/

wincl . Instancia de estructura o ventana*/

/*Utilice el color predeterminado de la ventana como color de fondo*/

wincl HBR BACKGROUND = (HBRUSH)COLOR _ BACKGROUND

/*Registrar clase de ventana. Si el registro falla, salga del programa */

If (!RegisterClas*.wincl))

Return 0;

/*La clase de ventana ha sido registrada . El programa que lo creó*/

hwnd = CreateWindowEx(

0,

Szclassname, /*class name*/

" Aplicación de Windows", /*texto en la barra de título de la ventana*/

WS_OVERLAPPEDWINDOW, /*ventana predeterminada*/

CW_USEDEFAULT, /*posición de la esquina superior izquierda de la ventana* /

CW_USEDEFAULT, /*ubicado en la esquina inferior derecha de la ventana*/

544, /*ancho de la ventana (píxeles)*/

375, /*alto de la ventana (píxeles)* /

HWND_DESKTOP, /* la ventana es una subventana del escritorio*/

NULL, /*Esta ventana no tiene menú*/

Htisinstancia, /*Identificador de instancia del programa*/

NULL /*La ventana no crea ningún dato*/

);

/*Ventana de visualización*/

ShowWindow (hwnd, nFunsterStil);

/*Ejecuta el bucle de mensajes. Vaya a la función GetMessage() y devuelva 0 */

while(GetMessage(& Message, NULL, 0, 0))

{

/ * Traducir información virtual en información de rol*/

Mensaje de traducción (& mensaje amp);

/*El proceso de envío de información a la ventana*/

despacho message(amp; message);

}

/*Devuelve el valor de retorno de la función PostQuitMessage()*/

devuelve mensajes.wParam

}