'PostMessageA' : Funktion akzeptiert keine 4 Parameter



  • Hallo Zusammen,

    ich hab ein Projekt (Dialoganwendung) übernommen und möchte nun aus dem OnInit des Dialogs eine Funktion die sonst Durch eine Taste ausgelöst wird automatisch starten. Dafür wollte ich

    #include "stdafx.h"
    #include "winuser.h"
    
    PostMessage(m_hWnd,WM_COMMAND,IDC_ZIP_LIST_Btn,0L);
    
    oder
    
    PostMessage(m_hWnd, WM_CLOSE, 0, 0);
    

    verwenden. Aber leider bekomme ich immer eine Fehlermeldung 😕 :

    error C2660: 'PostMessageA' : Funktion akzeptiert keine 4 Parameter

    In anderen Anwendungen habe ich das schon so verwendet, un es gab keine Fehlermeldung.
    Ich denke das liegt an irgendeiner Compilereinstellung, ich hab nur keine Ahnung an welcher?

    Kann mir jemand helfen?



  • also MSDN sagt:

    BOOL PostMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );

    das sind IMHO 3 Parameter. vielleicht ist in der anderen Anwendung die Funktion überladen, und drum 4 Parameter



  • Versuchs mal so :

    ::PostMessage(m_hWnd,WM_COMMAND,IDC_ZIP_LIST_Btn,0L);
    

    Cheers



  • oder ::PostMessage(...)



  • Polofreak hat teilweise Recht.

    In den anderen Anwendungen hast du PostMessage nicht in einer Fensterklasse verwendet.
    Sobald die aktuelle Klasse eine Fensterklasse ist, wird auch die Funktion von CWnd genommen und die hat im Gegensatz zu der aus der SDK nur 3 Parameter.

    Versuch mal:

    ::PostMessage(m_hWnd,WM_COMMAND,IDC_ZIP_LIST_Btn,0L);
    

    🙂



  • estartu_de schrieb:

    Polofreak hat teilweise Recht.

    In den anderen Anwendungen hast du PostMessage nicht in einer Fensterklasse verwendet.
    Sobald die aktuelle Klasse eine Fensterklasse ist, wird auch die Funktion von CWnd genommen und die hat im Gegensatz zu der aus der SDK nur 3 Parameter.

    Versuch mal:

    ::PostMessage(m_hWnd,WM_COMMAND,IDC_ZIP_LIST_Btn,0L);
    

    🙂

    Ja, das war's vielen Dank für die superschnelle Hilfe!!! 🙂



  • He he danke fürs vervollständigen, hab ich wieder mal nur die halbe Wahrheit gesagt 😃


Anmelden zum Antworten