Nachricht Funktion



  • Bin von Visual c++ 6 auf .net umgestiegen.
    Früher ging das mit dem Klassenassistenten.
    Wie füge ich ner Nachricht z.b. WM_TIMER ne Funktion zu. In meiner Manual steht nur dass ich das tun soll. Hab aber keinen Schimmer wie und hab bis jetzt auch noch nix gefunden.

    Danke



  • Die CWnd klassen haben Funktionen: SetTimer() und OnTimer(). Das WM_TIMER Ereignis ist automatisch processiert in dem DispatchMessage Fensterfunktion. Du brauchst nur den Timer zu starten, die OnTimer() zu überladen und das ON_WM_TIMER() Makro in die MESSAGE_MAP zu stecken.

    Hier ist ein Sample aus der MSDN:

    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
    	ON_WM_CREATE()
    // Ein Ereignis der mit der Star Timer Knopf im
    // Menü ausgelöst wird
    	ON_COMMAND(ID_VIEW_STARTTIMER, OnStartTimer)
    	ON_WM_TIMER()
    END_MESSAGE_MAP()
    
    void CMainFrame::OnStartTimer() 
    {
       m_nTimer = SetTimer(1, 2000, 0);
    }
    
    void CMainFrame::OnStopTimer() 
    {
       KillTimer(m_nTimer);   
    }
    
    void CMainFrame::OnTimer(UINT nIDEvent) 
    {
       MessageBox("something","something");  // Indicate the timer event
    
       // Call base class handler.
       CFrameWnd::OnTimer(nIDEvent);
    }
    


  • Sorry ich bin grad erst so richtig angefangen und versteh eigentlich so ziemlich garnichts von dem was du sagst 😕
    Dann stell ich das mal anders wie bekomme ich dieses

    void CMainFrame::OnTimer(UINT nIDEvent) 
    {
       MessageBox("something","something");  // Indicate the timer event
    
       // Call base class handler.
       CFrameWnd::OnTimer(nIDEvent);
    }
    

    hin. Also wie bekomme ich diese OnTimer Funktion da rein muss ich die selber reinschreiben normaler weise bekomme ich ja
    void CMainFrame::OnTimer(UINT nIDEvent) schon vorgegeben und muss danach nur noch die Aktion eingeben.



  • OK Hat sich erledigt Hab in nem anderen Beitrag schon die Lösung gefunden. Aber danke nochmal.


Anmelden zum Antworten