lParam wird nicht in NMHDR umgewandelt...



  • Hey!

    Ich möchte ohne subclassing herausfinden, wann die Enter-Taste gedrückt wird, während ein Edit-Feld den focus hat:

    // Im MsgProc:
    
    	case WM_NOTIFY:
    		if(lParam == reinterpret_cast<LPARAM>(MyClass::getInstance().getEditHandle(0)))
    		{
    			LPNMHDR nmh = (LPNMHDR)lParam; 
    
    			if(nmh->code == NM_RETURN)
    				MessageBox(0, 0, 0, 0);
    		}
    

    Doch leider ist nmh auch nach dem Cast nicht gefüllt und somit stürtz alles wegen nmh->code == ab.
    Aber warum bleibt nmh unbesetzt?

    MfG



  • probiers mal anstatt mit

    if (nmh->code == NM_RETURN)
    

    mit

    if (nmh[0].code == NM_RETURN)
    


  • Ne, aber ich habs jetzt einfach so gemacht:

    case WM_KEYDOWN:
    		if(GetAsyncKeyState(VK_RETURN))
    			if(GetFocus() == MyClass::getInstance().getEditHandle(14))
    				;// do something
    		break;
    

    Funktioniert schon mal.

    Danke trotzdem!
    MfG


Log in to reply