Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente en lenguaje C de la interfaz de Windows

Código fuente en lenguaje C de la interfaz de Windows

Pruébalo, no sé si se puede ejecutar en BORLAND C.

#include

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

int APIENTRY WinMain(HINSTANCE hInstance,

p>

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

char szClassName []="MainWClass ";

WNDCLASSEX wndclass;

// Rellena la estructura WNDCLASSEX con parámetros que describen la ventana principal

wndclass.cbSize=sizeof(wndclass ); // Tamaño estructural

wndclass.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC; // Especificar el rediseño si el tamaño cambia

wndclass.lpfnWndProc=MainWndProc; // Puntero de función de ventana

wndclass.cbClsExtra=0; // Sin memoria de clase adicional

wndclass.cbWndExtra=0; // Sin memoria de ventana externa

wndclass.hInstance=hInstance; // Identificador de instancia

wndclass.hIcon=::LoadIcon(NULL,IDI_APPLICATION); // Usar iconos predefinidos

wndclass.hCursor=::LoadCursor(NULL,IDC_ARROW); / Usar cursor predefinido

wndclass.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH); // Usar pincel de fondo blanco

wndclass.lpszMenuName=NULL; /p>

wndclass.lpszClassName=szClassName; // Nombre de la clase de ventana

wndclass.hIconSm=NULL; // Icono pequeño sin clase

// Registro de esta clase de ventana

::RegisterClassEx(&wndclass);

// Crea la ventana principal

HWND hwnd=::CreateWindowEx(

0, // dwExStyle, estilo extendido

szClassName, // lpClassName, nombre de clase

"Ventana", // lpWindowName, título

WS_OVERLAPPEDWINDOW, // dwStyle, estilo de ventana

CW_USEDEFAULT,

// Altura

NULL, // hWndParent, identificador de ventana principal

NULL, // hMenu, identificador de menú

hInstance, // hInstance, identificador de instancia de programa

p>

NULL); // lpParam, datos del usuario

if(hwnd==NULL)

{

::MessageBox (NULL," ¡Error al crear la ventana!","Error",MB_OK);

return -1;

}

// Muestra la ventana y actualiza el área del cliente de la ventana

p>

::ShowWindow(hwnd,nCmdShow);

::UpdateWindow(hwnd);

// Elimina el mensaje del cola de mensajes y entréguelo a la función de ventana para su procesamiento Hasta que GetMessage devuelva FALSO, finalice el bucle de mensajes

MSG msg;

while(::GetMessage(&msg,NULL,0). ,0))

{

//Convertir mensaje de teclado

::TranslateMessage(&msg);

//Enviar el mensaje a la función de ventana correspondiente

:: DispatchMessage(&msg);

}

// El programa finaliza cuando GetMessage devuelve FALSE

return msg.wParam;

}

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

{

char szText[]="¡El programa de ventana más simple!" ;

switch(message)

{

case WM_PAINT:

{

HDC hdc;

p>

PAINTSTRUCT ps;

hdc=::BeginPaint(hwnd,&ps);

:: EndPaint(hwnd,&ps);

retorno 0;

}

caso WM_DESTROY:

::PostQuitMessage(0);

devuelve 0;

}

devuelve ::DefWindowProc(hwnd,message,wParam,lParam);

}