Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo implementar una interfaz gráfica en VC++

Cómo implementar una interfaz gráfica en VC++

Cree un proyecto mfc y luego implemente las funciones que desee

Pasos:

1.

¿Nuevo? ¿Seleccionar la pestaña del proyecto?

2.

Seleccione MFC AppWizard (exe), complete la información relevante y haga clic en Aceptar

Haga clic en Ejecutar, aparecerá la interfaz gráfica, abra el diseño de la ventana archivo y agréguelo Controles en la parte superior y así sucesivamente.

¡Olvídalo! #pragma?comment(linker,"/SUBSYSTEM:Windows?/ENTRY:mainCRTStartup")

#include?

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

TCHAR?szClassName[?]?=?TEXT("WindowsApp");

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

¿RESULTADO?DEVOLUCIÓN DE LLAMADA?Procedimiento de ventana?(HWND?hWnd,?UINT?mensaje,?WPARAM?wParam,LPARAM?lParam)

{

HDC ?hdc? ;

PAINTSTRUCT?ps?;

RECT?rect?;

¿interruptor?(mensaje)?/*?Procesando información?*/

{

caso?WM_DESTROY:

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

romper;

caso?WM_PAINT:

hdc?=?BeginPaint?(hWnd,?&ps)?;

GetClientRect?(hWnd,?&rect) ?;

p>

DrawText?(hdc,?TEXT("¡Hola,?Windows?NT!"),?-1,?&rect,?DT_SINGLELINE?|?DT_CENTER?|?DT_VCENTER)?;

EndPaint?(hWnd,?&ps)?;

romper?;

predeterminado:?/*?¿Mensaje no procesado?*/

regresar?DefWindowProc?(hWnd,?message,?wParam,?lParam);

}

return?0;

}

/ *?La siguiente es la función principal?*/

int?main?(?void?)

{

HINSTANCE?hThisInstance ?=?GetModuleHandle(NULL) ?;

int?nFunsterStil?=?SW_SHOW?;

HWND?hWnd;?/*?¿Este es el identificador de la ventana?*/

MSG?mensajes;/*?¿Aquí se guardan los mensajes de la aplicación?*/

WNDCLASSEX?wincl;/*?La estructura de datos de la clase de ventana?*/

/*?La estructura de la ventana? */

wincl.hInstance?=?hThisInstance;

wincl.lpszClassName?=?szClassName;

wincl.lpfnWndProc?=?WindowProcedure;/*? ¿Esta función es llamada por el sistema operativo Windows?*/

wincl.style?=?CS_DBLCLKS;?/*?¿Obtener el comando de doble clic?* /

wincl.cbSize?=?sizeof? (WNDCLASSEX);

/*?¿Usar el icono y el puntero del mouse predeterminados?*/

wincl.hIcon? =?LoadIcon?(NULL,?IDI_APPLICATION);

wincl.hIconSm?=?LoadIcon?(

NULL,?IDI_APPLICATION);

wincl.hCursor?=?LoadCursor?(NULL,?IDC_ARROW);

wincl.lpszMenuName?=?NULL;?/*?¿No hay menú? */

wincl.cbClsExtra?=?0;/*?¿No hay bytes adicionales después de la clase de ventana?*/

wincl.cbWndExtra?=?0;/*? ¿Estructura o instancia de ventana?*/

/*?¿Usar el color predeterminado de la ventana como color de fondo de la ventana?*/

wincl.hbrBackground?=?(HBRUSH)?COLOR_BACKGROUND;

p>

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

if?(!RegisterClassEx?(&wincl))

return?0;

/*?Window The La clase ha sido registrada. ¿El programa que lo creó?*/

hWnd?=?CreateWindowEx?(

0,

szClassName,/*?Class name?*/

TEXT("Windows?App"),/*?Texto de la barra de título de la ventana?*/

WS_OVERLAPPEDWINDOW,?/*?Ventana predeterminada?*/

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

CW_USEDEFAULT,?/*?La posición de la esquina inferior derecha de la ventana?*/

544,?/*?Ancho de la ventana (¿Alto de la ventana (en píxeles)?*/

375,?/*?Alto de la ventana (en píxeles)?*/

HWND_DESKTOP ,/*?La ventana es una subventana del escritorio?*/

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

hThisInstance,?/*?The ¿identificador de la instancia del programa?*/

NULL?/*?¿No hay datos para la creación de la ventana?*/

);

/*?¿Mostrar ventana? */

ShowWindow?( hWnd,?nFunsterStil);

/*?¿Volver a dibujar la ventana?*/

UpdateWindow(hWnd);

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

while?(GetMessage?(&messages,?NULL,?0,?0))

{

/*?¿Traducir mensajes virtuales a mensajes de caracteres?*/

TranslateMessage(&messages);

/*?¿Enviar mensajes a procedimientos de ventana?*/

DispatchMessage(&messages);

}

/*?¿Devolver el valor de retorno de la función PostQuitMessage()?*/

return?messages.wParam ;

}