Introduction
There is often a need to obtain the base class function from a parameter of the type HWND. How can this be done, if it is not possible to use the static_cast method ?
This problem can be solved sufficiently simply for MFC. For example, for CScrollView, you should obtain the function method GetScrollPosition(). This is solved simply for MFC:
<o:p>
CMyClass::MyFunction(HWND hWnd)<o:p>
{<o:p>
CScrollView * p = (CScrollView *) CScrollView::FromHandle(hWnd);<o:p>
CPoint ptScroll = pScroll->GetScrollPosition();<o:p>
}
<o:p>
How can the analogous problem be solved in WTL?.
Let us assume we need to obtain the function
void GetScrollOffset( POINT& ptOffset)
public class CScrollWindowImpl from a parameter of the type hWnd. We create the prototype of the class of the parameter.
<o:p>
class CScrollView : public CScrollWindowImpl<CScrollView><o:p>
{<o:p>
public:<o:p>
CScrollView(HWND hWnd){ m_hWnd = hWnd; }<o:p>
};<o:p>
<o:p>
And then in MyFunction method we make
<o:p>
CMyClass::MyFunction(HWND hWnd)<o:p>
{<o:p>
……<o:p>
CScrollView tScroll(hWnd);<o:p>
POINT pt;<o:p>
tScroll.GetScrollOffset(pt);<o:p>
WTL::CPoint ptScroll(pt);<o:p>
}<o:p>
<o:p>
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.