Na poczatek troche kodu:

watek = AfxBeginThread(funkcja_watka, (LPVOID)this, 0);

watek to oczywiscie CWinThread*, funkcja watka wyglada tak

UINT CMainFrame::funkcja_watka(LPVOID lParam)
{
    CMainFrame* parent = (CMainFrame*)lParam;
    while(1)
    {
        parent->MessageBox(_T("Abc"));
        Sleep(5000);
    }
    return 0;
}

docelowo w miejscu while'a bedzie WaitForSingleObject(blabla, INFINITE) i teraz tak: jak z poziomu glownej aplikacji, czyli np. po nacisnieciu guziczka zabic ten watek? Dochodzenie do konca funkcji nie wchodzi w gre bo while(1)...