Sample - Use of Pseudo-this Pointer in C++:                            Notes   Code
class A
{
public:
    A(); 

public:	
    static A* g_pPseudoThis;
    static UINT CALLBACK UpdateData( HWND hWnd, 
		                     UINT uMsg, 
                                     UINT idEvent, 
				     DWORD dwTime );

    UINT m_nTimerID; 
    int m_nUpdateInterval;

    void Print();
};

A* A::g_pPseudoThis = NULL;

A::A()
{
    g_pPseudoThis = this;
    m_nUpdateInterval = 2000;

    m_nTimerID = SetTimer( NULL, 
		           NULL, 
			   m_nUpdateInterval,
			   (TIMERPROC)UpdateData ); //TimerProc
}

UINT CALLBACK A::UpdateData( HWND hWnd, UINT uMsg, UINT idEvent, DWORD dwTime )
{
    g_pPseudoThis->Print();
    return S_OK;
}

void A::Print()
{
    MessageBox(NULL, "Call form callback ...", "Print()", MB_OK);
}
(c) 2002, Stan Malevanny