2011-09-24 149 views
2

首先,我使用的是Windows API。C++ Windows字體大小問題

所以我有一個編輯控件,需要能夠適應最多22個字符。 目前只有12個符合我想要使用的字體。

是否有任何方法可以很好地調整字體大小用戶鍵入的內容以允許更多文本適合而無需創建一堆字體?

+1

簡短的回答是沒有。長的答案是:創建一堆字體應該不成問題。您應該更關心縮放字體。 – pezcode

+0

爲什麼不直接設置允許22個字符的字體大小(或調整編輯控件的大小)呢?不需要特殊的代碼。 – user786653

+1

調整字體大小會產生很大的視覺震動,並會刪除視覺效果差強人意的提示 –

回答

0

嗯,你可以。爲EN_CHANGE實現消息處理程序,以便知道文本已更改。使用帶有DT_CALCRECT和DT_EDITCONTROL標誌的GetWindowDC和DrawTextEx來測量文本的大小。發送WM_SETFONT更改控件的字體,如果它不適合並重復。

然而,用戶對最終結果感到滿意的可能性不大。