MFC豎寫漢字

2021-05-27 09:30:25 字數 2225 閱讀 3118

///   利用cfont::createfont(...)函式實現豎寫漢字

cfont   myfont;           //建立字型物件

//建立邏輯字型

myfont.createfont(

56,                 //字型高度(旋轉後的字型寬度)=56  

20,                 //字型寬度(旋轉後的字型高度)=20

2700,             //字型顯示角度=270°

0,                                     //norientation=0

10,                                   //字型磅數=10

false,                             //非斜體

false,                             //無下劃線

false,             //無刪除線

default_charset,         //使用預設字符集

out_default_precis,   //預設輸出精度

clip_default_precis,//預設裁減精度  

default_quality,         //nquality=預設值

default_pitch,             //npitchandfamily=預設值

"@system ");                   //字型名=@system

cfont   *poldfont=dc.selectobject(&myfont);//選入裝置描述表

crect   rtclient;

getclientrect(rtclient);       //獲取客戶區尺寸、位置資訊

//在客戶區適當位置輸出文字

dc.textout(rtclient.width()/2+30,rtclient.height()/8,

"無邊落木蕭蕭下 ");

dc.selectobject(poldfont);   //將myfont從裝置環境中分離

myfont.deleteobject();           //刪除myfont物件

///   利用logfont結構實現豎寫漢字//

logfont   lf;                                           //定義字型結構

lf.lfweight=10;                                   //字型磅數=10

lf.lfheight=56;           //字型高度(旋轉後的字型寬度)=56  

lf.lfwidth=20;                                     //字型寬度(旋轉後的字型高度)=20

lf.lfunderline=false;                       //無下劃線

lf.lfstrikeout=false;                       //無刪除線

lf.lfitalic=false;                             //非斜體

lf.lfescapement=2700;                       //字型顯示角度=270°

lf.lfcharset=default_charset;       //使用預設字符集

strcpy(lf.lffacename, "@system ");   //字型名=@system

cfont   mylogfont;                                       //定義字型物件

mylogfont.createfontindirect(&lf);   //建立邏輯字型

poldfont=dc.selectobject(&mylogfont);//選入裝置描述表

//在客戶區適當位置輸出文字

dc.textout(rtclient.width()/2-30,rtclient.height()/8,

"不盡長江滾滾來 ");

dc.selectobject(poldfont);   //將myfont從裝置環境中分離

mylogfont.deleteobject();     //刪除mylogfont物件

用VC實現豎寫漢字的方法

中國人自古就有自右至左 從上到下書寫漢字的習慣。而當我們在自己所編寫的應用程式中使用輸出函式輸出的總是自左至右的橫排文字。有沒有可能在我們的應用程式中實現豎寫漢字的效果呢?筆者偶然發現了一種利用vc實現豎寫漢字效果的方法,現在就把它介紹給大家。windows系統內建了許多名稱以 開頭的字集,這些字集...

MFC設定CEdit控制項只能輸入漢字 字元和數字

首先繼承cedit類,實現cinputedit類,在cinputedit類中新增wm char訊息 在onchar函式中新增如下 void cinputedit onchar uint nchar,uint nrepcnt,uint nflags 新增ischinesecharunicode函式,如...

MFC下的漢字串拼音首字母提取

根據中文漢字,得到該漢字字串的拼音首字母串。例如,北京大學 就應該得到 bjdx 因此寫了乙個c 類來實現此功能,以方便以後程式設計使用。在此跟大家一起分享 hztopy.h pragma once class chztopy hztopy.cpp include stdafx.h include ...