Как удалить элементы tooltip

281
26 ноября 2016, 19:01

Здравствуйте! Подскажите, как удалять такие элементы:

for(int i = 0; i < 10; i++)
{
    TOOLINFO ti = {};
    ti.cbSize = sizeof(TOOLINFO);
    ti.uFlags = TTF_SUBCLASS;
    ti.hwnd = window;
    ti.hinst = (HINSTANCE)GetModuleHandle(NULL);
    ti.uId = i;
    ti.lpszText = bufferWeight;
    ti.rect.left = rect.left;
    ti.rect.top = rect.top;
    ti.rect.right = rect.right;
    ti.rect.bottom = rect.bottom;
    SendMessage(tooltip, TTM_ADDTOOL, 0, (LPARAM)(LPTOOLINFO)&ti);
}

Пытался удалить примерно так, но не удаляет:

for(int i = 0; i < 10; i++)
{
    TOOLINFO ti = {};
    ti.cbSize = sizeof(TOOLINFO);
    ti.uFlags = TTF_SUBCLASS;
    ti.hwnd = window;
    ti.hinst = (HINSTANCE)GetModuleHandle(NULL);
    ti.uId = i;
    SendMessage(tooltip, TTM_DELTOOL, 0, (LPARAM)(LPTOOLINFO)&ti);
}
Answer 1

Тут работает метод

DestroyWindow(ti.hwnd);

Вот пример полного кода:

void CToolTip::RemoveToolTip() {
    TOOLINFO ti = {0};
    ti.cbSize = sizeof( TOOLINFO );
    ti.uFlags = TTF_SUBCLASS | TTF_IDISHWND;
    ti.hwnd   = m_hwndTT;
    ti.uId    = (UINT) m_hwndTT;
    SendMessage( m_hwndTT, TTM_DELTOOL, 0, (LPARAM) (LPTOOLINFO) &ti );
    DestroyWindow( m_hwndTT );
    m_hwndTT = NULL;
}
READ ALSO
Двоеточие в полях структуры

Двоеточие в полях структуры

Объясните, пожалуйста, как тут создается структура? Что делает знак двоеточие :?

251
Не получается считать строку из консоли

Не получается считать строку из консоли

Нужно считать строку из консоли в массив char

302
Ошибка сборки: Cannot find -lGL

Ошибка сборки: Cannot find -lGL

При попытке сборки проекта Qt Widgets выдает вот такую ошибку:

237
Как перевести вектор в углы эйлера? c++

Как перевести вектор в углы эйлера? c++

Пытаюсь восстановить код функции:

334