C++實現(xiàn)圖形界面時鐘表盤代碼
本文實例講述了C++實現(xiàn)圖形界面時鐘表盤代碼,分享給大家供大家參考。
具體實現(xiàn)代碼如下:
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函數(shù):設(shè)置坐標(biāo)系
//改變坐標(biāo)系就用這四個函數(shù):
void SetIsotropic(HDC hdc, int cx, int cy){
::SetMapMode(hdc, MM_ISOTROPIC); //設(shè)置坐標(biāo)映射方式
::SetWindowExtEx(hdc, 1000, 1000, NULL); //設(shè)置坐標(biāo)系的邏輯單位
::SetViewportExtEx(hdc, cx, -cy, NULL); //設(shè)置坐標(biāo)系方向和坐標(biāo)系包含的范圍,即定義域和值域
::SetViewportOrgEx(hdc, cx/2, cy/2, NULL); //設(shè)置坐標(biāo)系原點坐標(biāo)}
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++程序設(shè)計有所幫助。
相關(guān)文章
C語言驅(qū)動開發(fā)之內(nèi)核解鎖與強刪文件
在某些時候我們的系統(tǒng)中會出現(xiàn)一些無法被正常刪除的文件,如果想要強制刪除則需要在驅(qū)動層面對其進行解鎖后才可刪掉,本文為大家介紹了內(nèi)核解鎖與強刪文件的方法,希望對大家有所幫助2023-06-06

