我在繼承自CDialog的自定義對話框中使用CMFCLinkCtrl。 CMFCLinkCtrl是使用用戶在應用程序的另一部分設置的數據動態設置的,所以我必須處理長時間的URL。MFC鏈接控件包裝的問題
有沒有辦法讓鏈接控件截斷對話框中顯示的內容並在最後添加一個橢圓?目前,如果控件太長而無法放入對話框或在http://中看到「//」,則該控件將打包到下一行。
我在繼承自CDialog的自定義對話框中使用CMFCLinkCtrl。 CMFCLinkCtrl是使用用戶在應用程序的另一部分設置的數據動態設置的,所以我必須處理長時間的URL。MFC鏈接控件包裝的問題
有沒有辦法讓鏈接控件截斷對話框中顯示的內容並在最後添加一個橢圓?目前,如果控件太長而無法放入對話框或在http://中看到「//」,則該控件將打包到下一行。
靜態控件有一個SS_ENDELLIPSIS
風格,它完全符合您的要求,但不幸的是,這不適用於從CButton
派生的CMFCLinkCtrl
。所以,你有兩個選擇:
使用與SS_ENDELLIPSIS
風格的靜態控制,但你必須設置文本顏色和字體自己,並處理單擊事件,並手動打開URL。
子類CMFCLinkCtrl
並添加自定義繪圖代碼以添加省略號。
我認爲你不走運。你必須做什麼卡薩布蘭卡說或沒有子類自己截斷文本(計算字體大小和鏈接控制大小),並使用SetWindowText設置它。
您可以使用SizeToContent輕鬆調整控件的大小以包含整個文本,但我認爲這不適合您。
我可能最終將繼承CMFCLinkCtrl。但是,有沒有辦法阻止「//」插入換行符? – csnullptr 2010-10-11 19:13:00
我想控制只是簡單地將文本分解成單詞並將'/'看作標點符號。如果您繼承了控件,則可以完全控制圖形,所以不應該有這個問題。 – casablanca 2010-10-11 19:18:02