WTL CHyperLink在SetLinkFont後文字顯示不全

使用了CHyperLink,並用SetLinkFont設置了一個比較大的字體進去結果顯示的文字只有左上角的一部分了。

奇怪之餘查看WTL源代碼,發現有這麼一個方法“CalcLabelRect”,在SetLable時會自動調用。而我們沒有主動調用SetLable時會默認幫我們用Static的GetWindowText來設置一次,也就是在這個時候用Static的初始字體計算了一次顯示區域。而我們在SetLinkFont之後如果不主動調用一次CalcLabelRect的話就會產生我上面的問題。


解決方案:
CHyperLink m_linkOOXX;
m_linkOOXX.SetLinkFont(biggerFont);
m_linkOOXX.CalcLableRect();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章