¿Cómo utiliza Visual Studio el lenguaje C para la programación de gráficos?
Cree un nuevo proyecto, seleccione el proyecto win32, la aplicación es un programa de Windows y las opciones adicionales están vacías; agregue un archivo fuente con el sufijo .c en el directorio del código fuente. A continuación puedes escribir código C.
Utilice el lenguaje C para mostrar ventanas, menús, barras de desplazamiento y resultados de pantalla llamando a la función API de Windows.
Hay un ejemplo en el libro "Programación de Windows" que muestra una ventana estándar de Windows y muestra una cadena en el área de dibujo.
El código es el siguiente: #include
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;
wndclass.cbClsExtra?=?0;
wndclass.cbWndExtra?=?0;
wndclass. hInstance?= ?hInstance;
wndclass.hIcon?=?LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor?=?LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground?=?(HBRUSH)?GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName?=?NULL;
wndclass.lpszClassName?=?szAppName; p>
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("¿Este?programa?requiere?Windows?NT!"),szAppName, MB_ICONERROR);
return?0;
}
hwnd?=?CreateWindow(szAppName,
TEXT("¿Hola? ?Programa"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,iCmdShow) ;
p>//UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg );
DispatchMessage(&msg);
}
return?msg.wParam;
} p>
LRESULT?CALLBACK?WndProc(HWND?hwnd,UINT?message,WPARAM?wParam,LPARAM?lParam)
{<
/p>
HDC?hdc;
PAINTSTRUCT?ps;
RECT?rect;
cambiar(mensaje)
{
caso?WM_CREATE:
//PlaySound(TEXT("C:\\Windows?Notify.wav"),NULL,SND_FILENAME|SND_ASYNC);
return?0;
case?WM_PAINT:
hdc?=?BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("¡Hola,?Windows?98!"),-1,&rect,?DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
retorno?0;
caso?WM_DESTROY:
PostQuitMessage(0);
retorno?0;
}
return?DefWindowProc(hwnd,message,wParam,lParam);
}
Cópielo en el archivo .c justo ahora para compilarlo y correr .