¿Cómo escribir un programa win32api para que el programa pueda escribir una palabra automáticamente?
#pragma comment(lib, "kernel32.lib")
#pragma? anotación(lib, "user32.lib")
LRESULTADO? __llamada estándar? WinProc(HWND, UINT, WPARAM, LPARAM);
char*? lpClsName="¿Ventana? ¿Aplicación? ¿Para qué? Prueba.
【¿usar? c]";
int?register_class(hin instancia?hInst)
{
WNDCLASSEX?WC;
memset( & wc,0,sizeof(WNDCLASSEX));
Tamaño de WC = sizeof(WNDCLASSEX);
wc.style=CS_VREDRAW |?CS_HREDRAW
p> p>wc.lpfnWndProc = WinProcwc.hInstance = hInst
wc.hIcon=LoadIcon(0,IDI_INFO);
wc .hCursor=LoadCursor( 0, IDC _ ARROW);
WC . Fondo HBR = (HBRUSH)COLOR _ WINDOW;
nombre de clase lpsz = lpClsName; registrar classex(& WC);
}
int?WinMain(hin instancia?hInst,HINSTANCE?hPreInst,LPSTR?lpCmdLn,int? nShow)
{
¿Estático? hWnd
MSGmsg
if(register_class(hInst)){
if(hWnd=CreateWindowEx(0,lpClsName) ,lpClsName,WS_OVERLAPPEDWINDOW,0x80000000,0x80000000,800,600,\
0,0,hInst,0)){
ShowWindow (hWnd, SW_show normal);
Actualizar ventana (hWnd);
while(GetMessage(&msg,0,0,0)){
Traducir mensaje(&MSG);
mensaje de envío(amp;MSG);
}
}
}
Devuelve 0;
}
LRESULTADO?WinProc(HWND? hWnd, UINT? uMsj,WPARAM? wParam, LPARAM? lParam)
{
HDC? DC;
¿ESTRUCTURA DE PINTURA? PD;
char*? SzText= "Programación";
Cambiar(uMsg){
¿Caso? WM_CREATE:
dc=BeginPaint(hWnd, & ampPS);
DrawText(dc, szText, sizeof(szText), & ampps.rcPaint, DT_CENTER?|?DT_SINGLELINE?| DT _ VCENTER);
Acabado (hWnd y PS);
Romper;
¿Caso? WM_CLOSE:
destruir ventana(hWnd);
PostQuitMessage(0);
Interrupción;
Valor predeterminado:
¿Regresar? DefWindowProc(hWnd, uMsg, wParam, lParam);
}
¿Regresión? 0;
}<
/p>
Escribí tantas palabras, ¡recuerda aceptarlas! ! !
"Trazo a trazo, cómo lograrlo, un proceso de escritura dinámico", esto es un poco problemático, pero en realidad es muy simple, pero un poco engorroso.
Primero, determine el sistema de coordenadas de la ventana. Tenga en cuenta que la esquina superior izquierda es (0, 0), aumentando y disminuyendo hacia la derecha. Como se muestra en la figura:
Después de determinar el sistema de coordenadas, use API para moverse a un punto y luego dibuje una línea en otro punto.
Las funciones API incluyen MoveToEx y LineTo o PolyLineTo. Primero MoveToEx a un punto, luego muévase a otro punto y use LineTo o PolyLineTo para dibujar. Si las dos abscisas son iguales, dibuje "una". analogía. . .
Si quieres volver a dibujar, debes usar MoveToEx nuevamente, y luego LineTo, es decir, dibujar después del punto anterior, MoveToEx selecciona el punto nuevamente, y así sucesivamente. .
Si desea pintar diferentes colores, si desea ajustar el diámetro del pincel, puede crear un pincel, crear un bolígrafo y muchos más, puede consultar MSDN usted mismo. Sin embargo, es suficiente que las dos primeras funciones abarquen dos palabras.
Si no está familiarizado con esta función API, puede consultar MSDN.