Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Контекстные подсказки


Автор: Coocky 1.4.2004, 20:14
У нас в Академии учат,что для работы с подсказкой нужно засунуть RelаyEvent() в PreTranslateMessage,а в литературе у меня написано
про TTN_NEEDTEXT в ON_NOTIFY_EX.Кто виноват и что делать? smile.gif
И еще вопросик(надеюсь всевидещее око мне разрешит 2 вопроса smile.gif )Как можно создать подсказки НЕ динамически,с помощью AppWizard(ну типа присоеденить из ресурса)?

Автор: shedon 2.4.2004, 08:23
в хедере создаёшь m_ctrlToolTip
Код
CToolTipCtrl m_ctrlToolTip;

дальше создаёшь подсказки
Код

if( m_ctrlToolTip.Create(this) ) {
 m_ctrlToolTip.Activate(TRUE);
 VERIFY(m_ctrlToolTip.AddTool(GetDlgItem(IDC_EDIT1), IDS_DEVNAME));
 VERIFY(m_ctrlToolTip.AddTool(GetDlgItem(IDC_MOD), IDS_INTERMOD));
 VERIFY(m_ctrlToolTip.AddTool(GetDlgItem(IDC_DEV), IDS_INTRDEV));
 VERIFY(m_ctrlToolTip.AddTool(GetDlgItem(IDC_BEAR), IDS_INTRBEAR));
 VERIFY(m_ctrlToolTip.AddTool(GetDlgItem(IDC_LEVEL), IDS_INTRLEVEL));
 VERIFY(m_ctrlToolTip.AddTool(GetDlgItem(IDC_COMBO1), IDS_CHOICEDB));
 // где IDC_... - идентификаторы контролов, а IDS_... - подсказки к соответствующим контролам
}

перегружаешь PreTranslateMessage
Код

BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
// добавляем RelayEvent
m_ctrlToolTip.RelayEvent(pMsg);

if(pMsg->message==WM_KEYDOWN)
{
 switch (pMsg->wParam)
 {
 case VK_ESCAPE:
  return TRUE;
 default:
  break;
 }
}

return CDialog::PreTranslateMessage(pMsg);
}

Вот и всё...

Автор: Coocky 2.4.2004, 20:50
Да я знаю,как работать.Вопрос- с чем лучше работать?
Цитата
Как можно создать подсказки НЕ динамически,с помощью AppWizard(ну типа присоеденить из ресурса)?
не получил ответа sad.gif

Автор: mr.DUDA 2.4.2004, 22:43
Цитата
Как можно создать подсказки НЕ динамически,с помощью AppWizard(ну типа присоеденить из ресурса)?

не динамически можно вешать подсказки только на кнопки тулбара.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)