Vista Forums
Vista Forums Home Join Vista Forums Donate Vista Tutorials Tags

Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
Register at Vista forums...the world biggest Windows Vista resource Join Vista Forums

Go Back   Vista Forums > Vista technology newsgroups > WinFX General

Transparent tooltip gets focus with the manifest-style under Windows XP

Reply
 
Thread Tools Display Modes
Old 05-30-2007   #1 (permalink)
Johannes Ody
Guest
 
Posts: n/a

Transparent tooltip gets focus with the manifest-style under Windows XP

A Tooltip with TTF_TRANSPARENT and TTF_TRACK tool gets the focus, if I used
under Windows XP the
manifest-style and click with the mouse on the tooltip. But I want, that the
tooltip dispaths
the messages to the window, that is under the tooltip. I have searched in
the world wide web about
this problem, but did not found other persons with the same problem. I have
tested other
example-applications from www.codeproject.com, with a litle modification
(the tooltip was only
shown, but not hidden) and the tested applications have the same problem. I
don't know, how Microsoft
use in the VC6.0 in the Workarea-Window also an tooltip-window, because they
haven't the same problem.

The following source-code is from my test-application. The program is a
simple MFC-dialog-program,
the dialog includes an OK- and Cancel-button. m_wndToolTip is from
CToolTipCtrl.
void CTooltiptestDlg::OnOK()
{
TOOLINFO TI;
char caText[1024];
static long nIndex = 0;
CRect rectTemp;
CFont* pfont;
CWnd* pwndOK;

memset(&TI, 0, sizeof(TI));
TI.cbSize = sizeof(TI);
sprintf(caText, "nIndex=%d", nIndex);
TI.lpszText = caText;

if(IsWindow(m_wndToolTip) == FALSE)
{
m_wndToolTip.Create(this, TTS_ALWAYSTIP | TTS_NOPREFIX);
m_wndToolTip.SetMaxTipWidth(SHRT_MAX);

//Add tool
TI.uFlags = TTF_TRACK | TTF_TRANSPARENT;

m_wndToolTip.SendMessage(TTM_ADDTOOL, 0, (LPARAM)&TI);
}
else
{
//Modify the text of the tooltip.
m_wndToolTip.SendMessage(TTM_UPDATETIPTEXT, 0, (LPARAM)&TI);
}

//Take over the font from the dialog.
pfont = GetFont();
if(pfont != NULL)
{
m_wndToolTip.SetFont(pfont);
}

//Set the position of the tooltip.
pwndOK = GetDlgItem(IDOK);
pwndOK->GetWindowRect(&rectTemp);
m_wndToolTip.SendMessage(TTM_TRACKPOSITION,
0, (LPARAM)MAKELONG(rectTemp.left, rectTemp.top));

//Show tooltip
memset(&TI, 0, sizeof(TI));
TI.cbSize = sizeof(TI);
m_wndToolTip.SendMessage(TTM_TRACKACTIVATE, TRUE, (LPARAM)&TI);

//Increment the static index
nIndex++;
}
I haven't called the CToolTipCtrl::RelayEvent-function in
CWnd::PreTranslateMessage, because the tool
is added with TTF_TRANSPARENT and TTF_TRACK, position with TTM_TRACKPOSITION
and showed with
TTM_TRACKACTIVATE.

Can anybody help me???
Johannes Ody


  Reply With Quote

Reply

Thread Tools
Display Modes









Vistax64.com is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media 2005-2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48