mfc輸出字串設定字型

2021-03-04 06:24:03 字數 4138 閱讀 2514

1樓:匿名使用者

bool createfont(

int nheight,

int nwidth,

int nescapement,

int norientation,

int nweight,

byte bitalic,

byte bunderline,

byte cstrikeout,

byte ncharset,

byte noutprecision,

byte nclipprecision,

byte nquality,

byte npitchandfamily,

lpctstr lpszfacename

);通過指定的一些特徵初始化cfont物件。下面分別介紹每個引數:

nheight:指定字型高度(邏輯單位)。有三種取值:

>0,字型對映器將高度值轉換為裝置單位,並與可用字型的字元元高度進行匹配;=0,字型對映器使用預設的高度值;<0,字型對映器將高度值轉換為裝置單位,用其絕對值與可用字型的字元高度進行匹配。nheight轉換後的絕對值不應超過16384個裝置單位。

nwidth:指定字型中字元的平均寬度(邏輯單位)。

nescapement:指定偏離垂線和顯示介面x軸之間的角度,以十分之一度為單位。偏離垂線是穿過一行文字中第一個字元和最後一個字元的直線。

norientation:指定每個字元的基線和裝置x軸之間的角度,以十分之一度為單位。

nweight:指定字型磅數(每1000點中墨點畫素數)。可取0到1000之間的任意整數值。

bitalic:指定字型是否為斜體。

bunderline:指定字型是否帶有下劃線。

bstrikeout:指定字型是否帶有刪除線。

ncharset:指定字型的字符集。預定義的字符集:

ansi_charset;baltic_charset;chinesebig5_charset;default_charset;easteurope_charset; gb2312_charset; greek_charset;hangul_charset; mac_charset; oem_charset; russian_charset; shiftjis_charset;symbol_charset; turkish_charset。韓國windows:johab_charset;中東地區windows:

hebrew_charsset,arabic_charset;泰國windows:thai_charset。應用程式可以使用default_charset以允許字型名和大小完全指定邏輯字型,如果指定的字型名不存在則可能會用任意字符集的字型來代替,所以為避免不可預料的結果,應謹慎使用default_charset。

noutprecision:指定輸出精度。輸出精度定義了輸出與要求的字型高度、寬度、字元方向、移位和間距等的接近程度。它的取值及含義如下(只能取其一):

out_character_precis;未用。

out_default_precis:指定預設的字型對映器狀態。

out_device_precis:在當系統裡有多種字型使用同一個名字時指示字型對映器選擇一種裝置字型。

out_outline_prcis:在windows nt中此值指示字型對映器從truetype和其他基於邊框的字型中選擇。

out_raster_precis:在當系統裡有多種字型使用同一個名字時指示字型對映器選擇一種光柵字型。

out_string_precis:此值沒有被字型對映器使用,但是當列舉光柵字型時它會被返回。

out_stroke_precis:沒有被字型對映器使用,但是當列舉truetype字型、其他基於邊框的字型和向量字型時它會被返回。

out_tt_only_precis:指示字型對映器僅從truetype字型中選擇,如果系統中沒有安裝truetype字型,則字型對映返回預設狀態。

out_tt_precis:在當系統裡有多種同名的字型時指示字型對映器選擇一種truetype字型。當作業系統含有多種與指定名字同名的字型時,應用程式可以使用out_device_precis,out_raster_precis和out_tt_precis值來控制字型對映器如何選擇一種字型,例如,如果作業系統含有名字symbol的光柵和truetype兩種字型,指定out_tt_precis使字型對映器選擇truetype方式(指定out_tt_only_precis強制字型對映器選擇一種truetype字型,儘管這會給truetype字型換一個名字)。

nclipprecision:指定裁剪精度。裁剪精度定義了怎樣裁剪部分超出裁剪區域的字元。它的取值及含義如下(可取一個或多個值):

clip_default_precis:指定預設裁剪狀態。

clip_character_precis:未用。

clip_stroke_precis:未被字型對映器使用,但是當列舉光柵字型、向量字型或truetype字型時它會被返回。在windows環境下,為保證相容性,當列舉字型時這個值總被返回。

clip_mask:未用。

clip_embedded:要使用嵌入式只讀字型必須使用此標誌。

clip_lh_angles:當此值被使用時,所有字型的旋轉依賴於座標系統的定位是朝左的還是朝右的。如果未使用此值,裝置字型總是逆時針方向旋轉,但其他字型的旋轉依賴於座標系統的定向。

clip_tt_always:未用。

nquality:指定字型的輸出質量。輸出質量定義了gdi將邏輯字型屬性匹配到實際物理字型的細緻程度。它的各個取值及含義如下(取其一):

default_quality:字型的外觀不重要。

draft_quality:字型外觀的重要性次於使用proof_quality時,對gdi光柵字型,縮放比例是活動的,這意味著多種字型大小可供選擇,但質量可能不高,如果有必要,粗體、斜體、下劃線、strikeout字型可被綜合起來使用。

proof_quality:字元質量比精確匹配邏輯字型字型屬性更重要。對gdi掃描字型,縮放比例是活動的,並選擇最接近的大小。

儘管當使用proof_quality時,選擇字型大小並不完全匹配,但字型的質量很高,並沒有外觀上的變形。如果有必要,粗體、斜體、下劃線、strikeout字型可被綜合起來使用。

npitchandfamily:指定字型間距和字型族。低2位用來指定字型的間距,可取下列值中的一個:

default_pitch,fixed_pitch,variable_pitch。高4位指定字型族,取值及含義如下(取其一):

ff_decorative:新奇的字型,如老式英語(old english)。

ff_dontcare:不關心或不知道。

ff_mdern:筆劃寬度固定的字型,有或者無襯線。如pica、elite和courier new。

ff_roman:筆劃寬度變動的字型,有襯線。如ms serif。

ff_script:設計成看上去象手寫體的字型。如script和cursive。

ff_swiss:筆劃寬度變動的字型,無斜線。如ms sans serif。

應用程式可以用運算子or將字元間距和字型族組合起來給npitchandfamily賦值。

字型族描述一種字型的普通外觀,當所有的精確字樣都不能使用時,可用它們來指定字型。

lpszfacename:指定字型的字樣名的字串。此字串的長度不應超過30個字元。

windows函式enumfontfamilies可以列舉出當前所有可用字型的字樣名。如果lpszfacename為null,則gdi使用一種與裝置無關的字型。

返回值:此函式成功則返回true,否則返回false。

createfont函式初始化cfont物件後,此字型就能夠被選作任何裝置上下文的字型了。此函式並不會建立一個新的windows gdi字型,只是從gdi的物理字型中選擇了一個最匹配的字型。在建立一個邏輯字型時,大部分引數可以使用預設值,但一般情況下都會給出引數nheight和lpszfacename的指定值,如果沒有給nheight和lpszfacename引數設定取值,則建立的邏輯字型與裝置相關。

當使用createfont函式初始化一個cfont物件完成後,就能夠使用cdc::selectobject函式來為裝置上下文選擇字型了,並且還能夠在不再使用此cfont物件時刪除它。

// 下面的**演示瞭如何實現字型的空心效果

////////////////////////////////////// 應用程式主視窗的重繪函式

void cmywnd::onpaint()

c語言字元輸出,C語言輸入輸出字串

include int main d輸出的是有符號的整數,超過127的數字,在二進位制的最高位就是1了。那麼在後符號數的首位標記正負。如果是1,就是負數了。具體還是看看補碼運演算法則吧 c語言的字元是ascii編碼 標準的ascii碼只到127吧 沒記清楚 大概是這個數 char 的變數存的值太大直...

Python如何格式化輸出字串

我給你看一下三種類形 格式是這樣的print 格式化形式.格式化形式.物件,物件 物件的型別是各種各樣的!1.print s.s.物件,物件 這裡的 s是字串形式,物件可以是變數 變數的值是字串形式 或者字串 2.print d.d.物件,物件 這裡的 d是數形式,物件可以是變數 變數的值是數,但是...

c語言中如何輸入輸出字串

在c語言中,輸入輸出字串有以下兩種方式 1 用scanf printf輸入輸出。scanf printf是c語言的格式化輸入輸出函式,可以用於輸入輸出各種基礎型別,字串 char 也 其支援範圍內。格式化字元為 s。定義char str 100 輸入scanf s str 輸出printf s st...