MFC中豎排顯示文字MFC中豎排顯示文字

2021-03-08 21:56:05 字數 995 閱讀 6748

1樓:躺在海灘看星星

曾經有人問過這個問題:

其實用修改文字格式的方法就能實現,與控制元件屬性無關。方法如下:

在onpaint函式加這個:

cpaintdc dc(this);

cfont vertfont;

crect rect;

cstring strtext=" hello world! "; //文字內容

getclientrect(rect);

//字型

vertfont.createfont(16, 0, 900, 900, fw_bold,

0, 0, 0, default_charset, out_default_precis,

clip_default_precis, default_quality,

default_pitch, "arial");

colorref oldcolor = dc.gettextcolor();

dc.settextcolor(rgb(255, 0, 255)); //文字顏色

dc.setbkmode(transparent);

dc.textout(rect.left+2, rect.bottom-4, strtext); //文字起始位置

dc.settextcolor(oldcolor);

dc.selectobject(poldfont);

你想豎排顯示的文字還需要動態改變的嗎?我也想不起更好的辦法,你可以試試用n個一個字寬度的文字框組合來顯示,不過這也太麻煩了。我覺得沒有必要為顯示個豎排文字重新寫個類吧,大不了把文字按照豎排的順序重新排一下再顯示嘛,也比重新寫個類要簡單的多。

2樓:_好不好

每行橫著寫 再每行輸出一個字唄。 自動換行用獲取當前座標,當字型的座標等於你設定換行的座標的時候,你可令你換完行的座標副給下一字。

MFC中呼叫SetFont改變靜態文字的字型大小沒成功,倒是有加粗的現象

setfont應該只是改變了控制元件的字型控制代碼,而不影響已經顯示的內容 影響是設定字型後 另外font.deleteobject 放在函式 的最後試試吧。刪除太早了,畢竟你設定是地址操作,這個也可能是問題的原因。mfc如何修改按鈕,靜態文字等的字型 必須寫 可以這樣寫 新增一個成員變數cfont...

mfc中DDXControl括號中的引數分別是什

ddx control void afxapi ddx control cdataexchange pdx,int nidc,cwnd rcontrol 引數 pdx是 指向cdataexchange物件的指標。這種結構為指定物件提供了建立資料交換的環境,也包括結構的指向。nidc 子控制元件類的資...

在mfc中 gettext 啥意思?

clistbox gettext int gettext int nindex,lptstr lpszbuffer const void gettext int nindex,cstring rstring const 返回值 字串長度,不包括空終止字元。如果nindex不是指定的有效索引,則返回l...