Print Page | Close Window

CXTPToolTipContext on Dialog

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Toolkit Pro
Forum Description: Topics Related to Codejock Toolkit Pro
URL: http://forum.codejock.com/forum_posts.asp?TID=13232
Printed Date: 05 February 2025 at 1:09pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: CXTPToolTipContext on Dialog
Posted By: jimmy
Subject: CXTPToolTipContext on Dialog
Date Posted: 22 January 2009 at 9:11am
Hello,

CJ: V1202
I've a MainDialog, hat have a CXTPToolTipContext tooltip.
OnInitDialog()
    CDialog::EnableToolTips();
    m_moduleContext.SetModuleToolTipContext();

I use this function from one of your sample to get the window handle.

INT_PTR CMainDlg::OnToolHitTest(CPoint point, TOOLINFO* pTI) const
{
   
    HWND hWndChild = NULL;
    // find child window which hits the point
    // (don't use WindowFromPoint, because it ignores disabled windows)
    // see _AfxChildWindowFromPoint(m_hWnd, point);
    ::ClientToScreen(m_hWnd, &point);
    HWND hChild = ::GetWindow(m_hWnd, GW_CHILD);
    for (; hChild != NULL; hChild = ::GetWindow(hChild, GW_HWNDNEXT))
    {
        if ((UINT)(WORD)::GetDlgCtrlID(hChild) != (WORD)-1 &&
            (::GetWindowLong(hChild, GWL_STYLE) & WS_VISIBLE))
        {
            // see if point hits the child window
            CRect rect;
            ::GetWindowRect(hChild, rect);
            if (rect.PtInRect(point))
            {
                hWndChild = hChild;
                break;
            }
        }
    }


But if i open a other dialog.
vodi OnButClick()
{
  CDlgTest dlg;
  dlg.DoModal();
}

and move the mouse over this dialog, the tooltip from MainDlg will be show.
Because it does not use WindowFromPoint.

  Jimmy




Replies:
Posted By: Oleg
Date Posted: 23 January 2009 at 1:27am
Hi,
 
Do you see same in Samples\CommandBars\ToolTipContext sample ?


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: jimmy
Date Posted: 23 January 2009 at 7:27am
Hi Oleg,

I've write a small sample, but in this there are not same error.
The different is, that our application receive a WM_NCMOUSEMOVE message, when i move over the border of a EDIT field on CDlgTest.
And in the Sample i don't receivethis message.

     ToolkitPro1202vc71D.dll!CXTPToolTipContext::FilterToolTipMessageHelper(CWnd * pWndHost=0x0012dc00, tagMSG * pMsg=0x001540e8, int bIgnoreFlags=0)  Zeile 1947    C++
     ToolkitPro1202vc71D.dll!CXTPToolTipContext::FilterToolTipMessageStatic(tagMSG * pMsg=0x001540e8, CWnd * pWnd=0x0012dc00)  Zeile 1879    C++
     mfc71d.dll!CWnd::PreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 1051    C++
     mfc71d.dll!CDialog::PreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 59 + 0xc    C++
     mfc71d.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x000703f4, tagMSG * pMsg=0x001540e8)  Zeile 3129 + 0x12    C++
>    mfc71d.dll!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 238 + 0x12    C++
     mfc71d.dll!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 795 + 0x9    C++
     mfc71d.dll!AfxPreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 257 + 0xf    C++
     mfc71d.dll!AfxInternalPumpMessage()  Zeile 183 + 0x18    C++
     mfc71d.dll!CWinThread::PumpMessage()  Zeile 916    C++
     mfc71d.dll!AfxPumpMessage()  Zeile 195 + 0xb    C++
     mfc71d.dll!CWnd::RunModalLoop(unsigned long dwFlags=4)  Zeile 4566 + 0x5    C++
     mfc71d.dll!CDialog::DoModal()  Zeile 527 + 0xc    C++
     CompactFlashFloppyTool.exe!CPlcFloppyFlashManagerDlg::OnBnClickedButTestCF()  Zeile 1087    C++
     mfc71d.dll!_AfxDispatchCmdMsg(CCmdTarget * pTarget=0x0012ec68, unsigned int nID=1120, int nCode=0, void (void)* pfn=0x0043ab11, void * pExtra=0x00000000, unsigned int nSig=53, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Zeile 89    C++
     mfc71d.dll!CCmdTarget::OnCmdMsg(unsigned int nID=1120, int nCode=0, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Zeile 396 + 0x27    C++
     mfc71d.dll!CDialog::OnCmdMsg(unsigned int nID=1120, int nCode=0, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Zeile 88 + 0x18    C++
     mfc71d.dll!CWnd::OnCommand(unsigned int wParam=1120, long lParam=1049602)  Zeile 2550    C++
     mfc71d.dll!CWnd::OnWndMsg(unsigned int message=273, unsigned int wParam=1120, long lParam=1049602, long * pResult=0x0012e284)  Zeile 1759 + 0x1c    C++
     CompactFlashFloppyTool.exe!CXTPDialogBase<CXTResizeDialog>::OnWndMsg(unsigned int message=273, unsigned int wParam=1120, long lParam=1049602, long * pResult=0x0012e284)  Zeile 193    C++
     CompactFlashFloppyTool.exe!CExResizeDialog::OnWndMsg(unsigned int message=273, unsigned int wParam=1120, long lParam=1049602, long * pResult=0x0012e284)  Zeile 316 + 0x18    C++
     mfc71d.dll!CWnd::WindowProc(unsigned int message=273, unsigned int wParam=1120, long lParam=1049602)  Zeile 1745 + 0x1e    C++
     CompactFlashFloppyTool.exe!CDeviceNotification<CExResizeDialog>::WindowProc(unsigned int message=273, unsigned int wParam=1120, long lParam=1049602)  Zeile 96    C++
     mfc71d.dll!AfxCallWndProc(CWnd * pWnd=0x0012ec68, HWND__ * hWnd=0x000703f4, unsigned int nMsg=273, unsigned int wParam=1120, long lParam=1049602)  Zeile 241 + 0x1a    C++
     mfc71d.dll!AfxWndProc(HWND__ * hWnd=0x000703f4, unsigned int nMsg=273, unsigned int wParam=1120, long lParam=1049602)  Zeile 389    C++
     mfc71d.dll!AfxWndProcBase(HWND__ * hWnd=0x000703f4, unsigned int nMsg=273, unsigned int wParam=1120, long lParam=1049602)  Zeile 209 + 0x15    C++
     user32.dll!7e368734()    
     user32.dll!7e368816()    
     user32.dll!7e36882a()    
     user32.dll!7e37927b()    
     user32.dll!7e3792e3()    
     comctl32.dll!773c7354()    
     comctl32.dll!773c7436()    
     comctl32.dll!773c973b()    
     mfc71d.dll!AfxUnlockGlobals(int nLockType=1049602)  Zeile 112    C++
     user32.dll!7e368734()    
     user32.dll!7e368816()    
     mfc71d.dll!ATL::CTraceFileAndLineInfo::operator()(unsigned long dwCategory=2000457396, unsigned int nLevel=1049602, const char * pszFmt=0x00000202, ...)  Zeile 163 + 0x27    C++
     user32.dll!7e37a013()    
     user32.dll!7e37a998()    
     mfc71d.dll!CWnd::DefWindowProcA(unsigned int nMsg=514, unsigned int wParam=0, long lParam=655434)  Zeile 1024 + 0x20    C++
     mfc71d.dll!CWnd::WindowProc(unsigned int message=514, unsigned int wParam=0, long lParam=655434)  Zeile 1746 + 0x1a    C++
     mfc71d.dll!AfxCallWndProc(CWnd * pWnd=0x0012f604, HWND__ * hWnd=0x00100402, unsigned int nMsg=514, unsigned int wParam=0, long lParam=655434)  Zeile 241 + 0x1a    C++
     mfc71d.dll!AfxWndProc(HWND__ * hWnd=0x00100402, unsigned int nMsg=514, unsigned int wParam=0, long lParam=655434)  Zeile 389    C++
     mfc71d.dll!AfxWndProcBase(HWND__ * hWnd=0x00100402, unsigned int nMsg=514, unsigned int wParam=0, long lParam=655434)  Zeile 209 + 0x15    C++
     user32.dll!7e368734()    
     user32.dll!7e368816()    
     user32.dll!7e37b326()    
     user32.dll!7e3689cd()    
     user32.dll!7e381b7c()    
     user32.dll!7e368a10()    
     user32.dll!7e3774ff()    
     user32.dll!7e38c6d3()    
     mfc71d.dll!CWnd::IsDialogMessageA(tagMSG * lpMsg=0x001540e8)  Zeile 200    C++
     mfc71d.dll!CWnd::PreTranslateInput(tagMSG * lpMsg=0x001540e8)  Zeile 4512    C++
     mfc71d.dll!CDialog::PreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 83    C++
     CompactFlashFloppyTool.exe!CXTPDialogBase<CXTResizeDialog>::PreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 181 + 0xc    C++
     mfc71d.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x000703f4, tagMSG * pMsg=0x001540e8)  Zeile 3129 + 0x12    C++
     mfc71d.dll!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 238 + 0x12    C++
     mfc71d.dll!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 795 + 0x9    C++
     mfc71d.dll!AfxPreTranslateMessage(tagMSG * pMsg=0x001540e8)  Zeile 257 + 0xf    C++
     mfc71d.dll!AfxInternalPumpMessage()  Zeile 183 + 0x18    C++
     mfc71d.dll!CWinThread::PumpMessage()  Zeile 916    C++
     mfc71d.dll!AfxPumpMessage()  Zeile 195 + 0xb    C++
     mfc71d.dll!CWnd::RunModalLoop(unsigned long dwFlags=4)  Zeile 4566 + 0x5    C++
     mfc71d.dll!CDialog::DoModal()  Zeile 527 + 0xc    C++
     CompactFlashFloppyTool.exe!CPlcFloppyFlashManagerApp::InitInstance()  Zeile 61 + 0xb    C++
     mfc71d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00151f2d, int nCmdShow=1)  Zeile 39 + 0xb    C++
     CompactFlashFloppyTool.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00151f2d, int nCmdShow=1)  Zeile 25    C++
     CompactFlashFloppyTool.exe!WinMainCRTStartup()  Zeile 390 + 0x39    C
     kernel32.dll!7c817067()    
     ntdll.dll!7c925d27()    

  Jimmy




Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net