SetMapMode

函式功能描述:該函式設定指定設備環境的映射方式,映射方式定義了將邏輯單位轉換為設備單位的度量單位,並定義了設備的X、Y軸的方向。

基本介紹

  • 外文名:SetMapMode
  • 類型:函式
  • 作用:設定指定設備環境的映射方式
  • 函式原型:int SetMapMode
簡介,語法結構及要求,參數,返回值,備註,例子,

簡介

函式功能描述:該函式設定指定設備環境的映射方式,映射方式定義了將邏輯單位轉換為設備單位的度量單位,並定義了設備的X、Y軸的方向。
函式原型:int SetMapMode(HDC hdc, int fnMapMode);

語法結構及要求

virtual int SetMapMode(
int nMapMode
);
要求:頭檔案位置:afxwin.h

參數

nMapMode
指定新映射的模式。它可以是以下任一值:
MM_ANISOTROPIC:邏輯單位轉換成具有任意比例軸的任意單位,用SetWindowExtSetViewportExt函式可指定單位、方向和比例。
MM_HIENGLISH:每個邏輯單位轉換為0.001英寸,X的正方向向右,Y的正方向向上。
MM_HIMETRIC:每個邏輯單位轉換為0.01毫米,X正方向向右,Y的正方向向上。
MM_ISOTROPIC:邏輯單位轉換成具有均等比例軸的任意單位,即沿X軸的一個單位等於沿Y軸的一個單位,用SetWindowExtSetViewportExt函式可以指定該軸的單位和方向。圖形設備界面(GDI)需要進行調整,以保證X和Y的單位保持相同大小(當設定視窗範圍時,視口將被調整以達到單位大小相同)。
MM_LOENGLISH:每個邏輯單位轉換為0.01英寸,X正方向向右,Y正方向向上。
MM_LOMETRIC:每個邏輯單位轉換為0.1毫米,X正方向向右,Y正方向向上。
MM_TEXT:每個邏輯單位轉換為一個圖素,X正方向向右,Y正方向向下。
MM_TWIPS;每個邏輯單位轉換為列印點的1/20(即1/1440英寸),X正方向向右,Y方向向上。

返回值

如果函式調用成功,返回值指定先前的映射方式,否則,返回值為零,若想獲得更多錯誤信息,請調用GetLastError函式。

備註

映射的架構定義用於的度量單位轉換邏輯單位為組件單位;它還定義orientation設備的x和y軸。GDI使用該映射模式轉換邏輯坐標轉換為適當的設備坐標。MM_TEXT模式在設備像素允許應用程式中工作,1個單位為1像素相等。像素的實際大小從設備而異到計算機。
MM_HIENGLISHMM_HIMETRICMM_LOENGLISHMM_LOMETRICMM_TWIPS模式對於實際有意義的單位必須繪圖應用程式很有用的(例如英寸或毫米)。MM_ISOTROPIC模式可確保1:1長寬比的,很有用,同時保留圖形的確切的形狀是很重要的。MM_ANISOTROPIC模式允許將獨立地調整的x坐標和y坐標。
注意:如果調用SetLayout更改DC (設備上下文)到從右到左的布局,SetLayout自動將映射的模式。MM_ISOTROPIC

例子

SetMapMode (hdc, MM_ISOTROPIC);//設定映像模式
SetWindowExtEx (hdc, 1000, 1000, NULL);
SetViewportExtEx (hdc, cxClient / 2, -cyClient / 2, NULL);
SetViewportOrgEx (hdc, cxClient / 2, cyClient / 2, NULL); //設定視口原點坐標

相關詞條

熱門詞條

聯絡我們