1 // TortoiseSVN - a Windows shell extension for easy version control
\r
3 // Copyright (C) 2003-2006 - Stefan Kueng
\r
5 // This program is free software; you can redistribute it and/or
\r
6 // modify it under the terms of the GNU General Public License
\r
7 // as published by the Free Software Foundation; either version 2
\r
8 // of the License, or (at your option) any later version.
\r
10 // This program is distributed in the hope that it will be useful,
\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
13 // GNU General Public License for more details.
\r
15 // You should have received a copy of the GNU General Public License
\r
16 // along with this program; if not, write to the Free Software Foundation,
\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
\r
23 * Helper class to show a tooltip for e.g. a scrollbar while it is dragged.
\r
25 * In the OnVScroll() message handler
\r
29 * case SB_THUMBPOSITION:
\r
30 * m_ScrollTool.Clear();
\r
32 * case SB_THUMBTRACK:
\r
33 * m_ScrollTool.Init(&thumbpoint);
\r
34 * m_ScrollTool.SetText(&thumbpoint, _T("Line: %*ld"), maxchars, nTrackPos);
\r
39 class CScrollTool : public CWnd
\r
46 * Initializes the tooltip control.
\r
47 * \param pos the position in screen coordinates where the tooltip should be shown
\r
48 * \param bRightAligned if set to true, the tooltip is right aligned with pos,
\r
49 * depending on the text width shown in the tooltip
\r
51 bool Init(LPPOINT pos, bool bRightAligned = false);
\r
53 * Sets the text which should be shown in the tooltip.
\r
54 * \param pos the position in screen coordinates where the tooltip should be shown
\r
55 * \fmt a format string
\r
57 void SetText(LPPOINT pos, const TCHAR * fmt, ...);
\r
59 * Removes the tooltip control.
\r
63 * Returns the width of \c szText in pixels for the tooltip control
\r
65 LONG GetTextWidth(LPCTSTR szText);
\r
67 virtual ~CScrollTool();
\r
70 DECLARE_MESSAGE_MAP()
\r
74 bool m_bRightAligned;
\r