Многострочная всплывающая подсказка с CStatusBar и всегда активированная - PullRequest
1 голос
/ 14 марта 2019

Я использую элемент управления CStatusBar, и вот пример попытки установить всплывающие подсказки:

m_StatusBar.CreateEx(this, SBT_TOOLTIPS);
m_StatusBar.SetIndicators(indicators_oclm, paneCount); //We create the status bar

m_StatusBar.SetPaneInfo(paneDate, ID_INDICATOR_DATE, SBPS_NORMAL, 200);
m_StatusBar.SetPaneInfo(paneProgressOrZoomFactor, ID_INDICATOR_ZOOM, SBPS_NORMAL, 200);
m_StatusBar.SetPaneInfo(panePageBreaks, ID_INDICATOR_PAGE_BREAK, SBPS_NORMAL, 200);
m_StatusBar.SetPaneInfo(paneSlipsPerPage, ID_INDICATOR_SLIPS_COUNT, SBPS_NORMAL, 10);
m_StatusBar.SetPaneInfo(paneForeignLanguageGroup, ID_INDICATOR_FOREIGN_LANGUAGE_GROUP, SBPS_NORMAL, 200);
m_StatusBar.GetStatusBarCtrl().SetTipText(paneSlipsPerPage, _T("Line 1\r\nLine2"));

Когда я отображаю всплывающую подсказку:

Tip

Как видите, он не показал две строки:

Строка 1

Строка 2

Я исследовалэто (пример здесь ), но безрезультатно.

Обновление

Используя немного другой код, придерживаясь только одной строки для подсказки, которую я теперь имею:

Tip 2

Вы можете понять, почему я предпочитаю многострочное.Кроме того, я действительно хочу, чтобы текст на панели читал «Календарь для использования», а подсказка содержала информацию.Но советы показывают только если весь текст не виден.Поэтому мне также нужно, чтобы он всегда был активирован, если это возможно.

Обновление

Я все еще не могу получить многострочное, но я нашел обходной путь для некоторых из них:

  1. Получите ширину для «Используемых календарей»
  2. Установите ширину панели в это значение
  3. Обновите текст панели как «Используемые календари» (вызывает уведомление всплывающей подсказки)
  4. Установить текст подсказки

Значок на торте получает поддержку нескольких строк

Я пытался:

static CToolTipCtrl* pToolTip = NULL;
CToolTipCtrl* ptt = AfxGetModuleState()->m_thread.GetDataNA()->m_pToolTip;
if (ptt != pToolTip) {
    // new tooltip
    ptt->SetMaxTipWidth(400);
    pToolTip = ptt;
}

Но код никогда

Обновление

Я поднял это как запрос функции с Microsoft.

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