Проблемы с переносом управления ссылками MFC - PullRequest
0 голосов
/ 11 октября 2010

Я использую CMFCLinkCtrl в моем настраиваемом диалоге, который наследуется от CDialog.CMFCLinkCtrl устанавливается динамически с использованием данных, заданных пользователем в другой части приложения, поэтому мне приходится обрабатывать длинные URL.и добавить эллипс до конца?В настоящее время элемент управления переносится на следующую строку, когда он слишком длинный, чтобы поместиться в диалоговом окне, или видит "//" в http: //.

.

Ответы [ 2 ]

1 голос
/ 11 октября 2010

Статические элементы управления имеют стиль SS_ENDELLIPSIS, который делает именно то, что вы хотите, но, к сожалению, это не будет работать с CMFCLinkCtrl, который получен из CButton.Таким образом, у вас есть два варианта:

  1. Используйте статический элемент управления со стилем SS_ENDELLIPSIS, но вам придется самостоятельно установить цвет текста и шрифт, обрабатывать события нажатия и открыватьURL вручную.

  2. Подкласс CMFCLinkCtrl и добавьте пользовательский код для рисования для добавления многоточия.

0 голосов
/ 11 октября 2010

Я думаю, тебе не повезло.Вам нужно будет сделать то, что сказал Касабланка, или без подклассов усечь текст самостоятельно (рассчитать размер шрифта и размер элемента управления ссылкой) и установить его с помощью SetWindowText.

Вы можете легко изменить размер элемента управления, чтобы он содержал весь текст, используяSizeToContent, но я не думаю, что это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...