複製鏈接
請複製以下鏈接發送給好友

SetMapMode

鎖定
函數功能描述:該函數設置指定設備環境的映射方式,映射方式定義了將邏輯單位轉換為設備單位的度量單位,並定義了設備的X、Y軸的方向。
外文名
SetMapMode
類    型
函數
作    用
設置指定設備環境的映射方式
函數原型
int SetMapMode

SetMapMode簡介

[1] 
函數原型:int SetMapMode(HDC hdc, int fnMapMode);

SetMapMode語法結構及要求

virtual int SetMapMode(int nMapMode);
要求:頭文件位置:afxwin.h [2] 

SetMapMode參數

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方向向上。

SetMapMode返回值

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

SetMapMode其他信息

映射的架構定義用於的度量單位轉換邏輯單位為組件單位;它還定義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例子

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