WM_CHAR, ein lesen von der Tastatur



  • Hi
    also ich habe es bisher geschafft mir ein kleines Programm zu schreiben welches mir erlaubt z.B. double werte über die Tastatur einzugeben und mit diesen dann weiter zu arbeiten.

    LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg,
                              WPARAM wParam, LPARAM lParam );
    
    LPCSTR MainClassName = "Eingabe vom Anwender";
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       PSTR szCmdLine, int iCmdShow)
    {
    ....
    }
    
    LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    ...
    swtich(uMsg){
        case WM_CHAR
        /*schauen ob gedrückte taste eine zahl ist oder ein "." für double*/
        }...
    }
    

    nun muss ich aber in mehreren Unterfunktionen Werte von der Tastatur einlese. also möchte ich mir eine eigene Funktion zum Einlesen bauen

    ich dachte an

    double einlesen(HWND hWnd,UINT uMsg,WPARAM wParam)
    {
    ../*deklaration der jeweiligen Variablen*/
    
     switch(uMsg){
       case WM_CHAR
         switch(wParam){
         /*die Einzelnen Fälle abfragen*/
         } 
     }
    }
    

    das funktioniert jedoch gar nicht. Ich weiss gerade auch nicht wieso.
    Kann mir vieleicht einer helfen bzw verraten wie ich geschickt das Einlesen in eine extra Funktion bekomme.



  • Spricht irgendwas gegen einen Dialog?
    Wenn ja, würde ich dich mal nach WinAPI schieben.


Anmelden zum Antworten