程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++完成圖形界面時鐘表盤代碼

C++完成圖形界面時鐘表盤代碼

編輯:關於C++

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++法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved