Det var egentligt også det jeg havde regnet med at gøre. Men problemet er et jeg ved ikke hvilke event jeg skal kalde timeren i. Dialogen bliver ikke vist hvis jeg kører timeren i OnInitDialog eller OnPaint.
Du har vel en eller anden event der tricker den dialog boks? F.eks. en knap eller lign. hvor du har: dlg->DoModal(); Der kan du vel bagefter oprette en timer med en callback function der lukker dialogen igen. nTimerID = SetTimer(NULL, NULL, nTimeout, DialogCloseCallback);
Sæt en timer i dialogens OnInitDialog (fx About dialogen): SetTimer(1, 3000, NULL);
Lav en WM_TIMER handler (gør det v.h.a. guiøen, så får du automatisk message map entry med: void CAboutDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default
guiøen = gui'en. Altså, find WM_TIMER i message listen for dialogen og opret en handler dér.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.