C++完成圖形界面時鐘表盤代碼。本站提示廣大學習愛好者:(C++完成圖形界面時鐘表盤代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C++完成圖形界面時鐘表盤代碼正文
本文實例講述了C++完成圖形界面時鐘表盤代碼,分享給年夜家供年夜家參考。
詳細完成代碼以下:
//POINT的數組可以這麼用
POINT pt[]={
0, 450,
225,390,
390,225,
450,0,
390,-225,
225,-390,
0,-450,
-225,-390,
-390,-225,
-450,0,
-390,225,
-225,390
};
SetIsotropic函數:設置坐標系
//轉變坐標系就用這四個函數:
void SetIsotropic(HDC hdc, int cx, int cy){
::SetMapMode(hdc, MM_ISOTROPIC); //設置坐標映照方法
::SetWindowExtEx(hdc, 1000, 1000, NULL); //設置坐標系的邏輯單元
::SetViewportExtEx(hdc, cx, -cy, NULL); //設置坐標系偏向和坐標系包括的規模,即界說域和值域
::SetViewportOrgEx(hdc, cx/2, cy/2, NULL); //設置坐標系原點坐標}
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加隨意率性畫圖代碼...
//畫鐘表盤
int cxClient, cyClient;
RECT rect;
::GetClientRect(hWnd, &rect);
cxClient = rect.right - rect.left;
cyClient = rect.bottom - rect.top;
SetIsotropic(hdc, cxClient, cyClient);
#define SQUARESIZE 10
::SelectObject(hdc, ::GetStockObject(BLACK_BRUSH));
for(int i=0;i<12;i++)
{
::Ellipse(hdc, pt[i].x-SQUARESIZE,pt[i].y+SQUARESIZE,pt[i].x+SQUARESIZE, pt[i].y-SQUARESIZE);
}
EndPaint(hWnd, &ps);
break;
願望本文所述對年夜家的C++法式設計有所贊助。