Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление toolTip меню на узел TreeCtrl, подсказка при наведении на узел дерева 
:(
    Опции темы
Winte
Дата 20.6.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



Добрый вечер!
Мне нужно добавить всплывающий текст при наведении на узел дерева. Но что-то не оч получается :(
Вот код:
Код

BOOL TabDialog1::OnInitDialog()
{
        //bla-bla-bla
            m_pTips =new CToolTipCtrl;//создаю менюшку
            m_pTips->Create(this);
            for (size_t i = 0; i < numContacts; i++)//делаю выборку данных и пихаю в дерево
            {
                Contact* cont = c->GetContact(i);
                HTREEITEM m_con = contactsTree.InsertItem((LPWSTR)cont->Name().c_str());
                
                vector<wstring> numberCounts = cont->Phones();
                vector<wstring>::iterator ii;
                for ( ii  = numberCounts.begin(); ii != numberCounts.end(); ++ii)
                {
                    HTREEITEM newItem = contactsTree.InsertItem((LPWSTR) ii->c_str(),m_con);
                    m_pTips->AddTool(&contactsTree.GetChildItem(newItem), _T("qwerty"));//для каждого элемента ставлю подсказку
                }
            }
          //bla-bla-bla

ну и далее ставлю обработчик передачи сообщения классу подсказки:
Код
 

BOOL CTestTipDlg::PreTranslateMessage(MSG* pMsg) 
{
    if (NULL != m_pTips)
            m_pTips->RelayEvent(pMsg);    
    return CDialog::PreTranslateMessage(pMsg);
}



Вопрос в том - верный ли метод используется для получения текущего узла. И если да, то как преобразовать HTREEITEM к CWnd* ?
PM MAIL   Вверх
Earnest
Дата 22.6.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



И как это , интересно, ты собираешься HTREEITEM к CWnd* преобразовать, если оно не CWnd*?
А еще, нет смысла добавлять тулы по всем узлам, ведь их позиция на экране все время меняется.
Сделай один тул на все дерево и колбэк для плучения текста. В TTN_NEEDTEXT по позиции мыши ищи узел и возвращай текст. Подробности разыскивать лень, а наизусть не помню, но на этом форуме были темы про тултипы, так что ищи сам. 


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0968 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.