① VisualStudio怎麼用C語言進行圖形編程啊
新建一個項目、選擇win32項目,應用程序為windows程序,附加選項為空;在源代碼目錄中添加一個後綴為.c的源文件。接下來就可以寫C代碼了。
用c語言中通過調用windows的api函數,來顯示窗口、菜單、滾動條、屏幕輸出。
在《windows程序設計》一書中就有一個例子,顯示一個標準的windows窗口,並在繪圖區顯示一個字元串。代碼如下:
#include<windows.h>
LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow)
{
staticTCHARszAppName[]=TEXT("HelloWin");
HWNDhwnd;
MSGmsg;
WNDCLASSwndclass;
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;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("ThisprogramrequiresWindowsNT!"),szAppName,MB_ICONERROR);
return0;
}
hwnd=CreateWindow(szAppName,
TEXT("TheHelloProgram"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,iCmdShow);
//UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
HDChdc;
PAINTSTRUCTps;
RECTrect;
switch(message)
{
caseWM_CREATE:
//PlaySound(TEXT("C:\WindowsNotify.wav"),NULL,SND_FILENAME|SND_ASYNC);
return0;
caseWM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("Hello,Windows98!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return0;
caseWM_DESTROY:
PostQuitMessage(0);
return0;
}
returnDefWindowProc(hwnd,message,wParam,lParam);
}
復制到剛才的.c文件中即可以編譯運行。
② 怎麼用C畫圖
在C語言中畫圖,可以使用Turbo C提供的繪圖函數,或者在Visual C++中通過手動添加繪圖函數庫來實現。
在Turbo C中繪圖: 使用line函數:該函數用於繪制一條從點到點的直線。通過指定起點和終點的坐標,可以在屏幕上繪制出直線。 使用lineto函數:該函數從當前游標位置繪制一條直線到指定的點。這允許從當前位置開始繪制直線,而無需指定起點。 使用linerel函數:該函數從當前游標位置繪制一條直線,終點的位置由相對於當前位置的增量dx和dy確定。這提供了基於相對位置的繪圖能力。 使用circle函數:該函數用於繪制一個完整的圓,圓心坐標為,半徑為radius。通過指定圓心和半徑,可以在屏幕上繪制出圓形。 使用arc函數:該函數用於繪制一段圓弧線,圓心坐標為,半徑為radius,從指定角度stangle開始,到指定角度endangle結束。這允許繪制圓的一部分,而不是整個圓。
在Visual C++中繪圖: 由於Visual C++並未內置上述繪圖函數及相關的頭文件,因此需要手動添加。 首先,下載並鏈接包含繪圖函數的頭文件和實現代碼,如DrawingFunctions.h和DrawingFunctions.cpp。 將這兩個文件添加到VC工程中,確保它們被正確編譯和鏈接。 在工程的鏈接器設置中,添加DrawingFunctions.lib作為附加依賴項。 通過這些步驟,就可以在VC中使用與Turbo C類似的繪圖函數來繪制圖形了。
請注意,具體的繪圖函數和用法可能因環境和庫的不同而有所差異。在實際應用中,應根據所選的開發環境和庫文檔進行相應的調整和優化。