Код: Выделить всё
const DWORD styleCode =
WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE | WS_TABSTOP |
TBSTYLE_TOOLTIPS | TBSTYLE_FLAT | TBSTYLE_TRANSPARENT | TBSTYLE_LIST | TBSTYLE_CUSTOMERASE |
TBSTYLE_WRAPABLE |
CCS_TOP | CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_NORESIZE;
toolbarHandle = Create(parentWindowHandle,area,TEXT("Toolbar Window"),styleCode);
Код: Выделить всё
m_hToolTip = CreateWindowEx(WS_EX_TOPMOST,
TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
hParent, NULL, hInstance,NULL);
if (!m_hToolTip)
{
return;
}
// Set up tool information.
// In this case, the "tool" is the entire parent window.
g_toolItem.cbSize = sizeof(TOOLINFO);
g_toolItem.uFlags = TTF_IDISHWND | TTF_TRACK | TTF_ABSOLUTE;
g_toolItem.hwnd = hParent;
g_toolItem.hinst = hInstance;
g_toolItem.lpszText = TEXT("hello");
g_toolItem.uId = (UINT_PTR)hParent;
GetClientRect (hParent, &g_toolItem.rect);
// Associate the tooltip with the tool window.
SendMessage(m_hToolTip, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &g_toolItem);
SendMessage(m_hToolTip, TTM_ACTIVATE, (WPARAM)TRUE,0);
Код: Выделить всё
SendMessage(m_hToolTip, TTM_TRACKPOSITION, 0, (LPARAM)MAKELONG(0, 0));
SendMessage(m_hToolTip, TTM_TRACKACTIVATE, (WPARAM)TRUE, (LPARAM)&g_toolItem);
что нетак ?
если сделать uFlags = TTF_SUBCLASS; то тул тип сам по себе появляется ! НО я в тулбар добавляю Flash ролик и после его добавления тултип перестает показываться ((( я подумал, что проблема с обработкой сообщений от мыши, поэтому написал из флеша отправку мышиных событий в С++ и по событиям пытаюсь показать тултип через приведенный выше способ события приходят нормально, но сам тултип не отображается не в какую, я подумал, что проблема во флеше и сделал БЕЗ него, НО отображать попробовал в ручную …*и все равно в он не отображается ((( да и как я упомянул выше проблема есть ТОЛЬКО на windows 7 ((( в XP тултип прекрасно показывается