Nachrichten der Kindprozesse an den Hauptprozess schicken

Also ich hab in meiner Hauptfensterklasse eine Textbox Gemacht:
Die Textbox:
Code:
		static HWND hEdit;	

         hEdit = CreateWindowEx(WS_EX_CLIENTEDGE,
									"edit",
									NULL,    // <- das ist der Inhalt der Editfelds
									WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE |
									ES_AUTOVSCROLL,
                                   0, 0, 100, 100,
                                   hwnd,
                                   NULL,
                                   ((LPCREATESTRUCT) lparam) -> hInstance,
                                   NULL);

Wenn man Enter drückt soll der Inhalt des Textfeldes in eine Variable geschrieben werden und per MessageBox ausgegeben werden:

Code:
	case WM_KEYDOWN:
		{
			if(wparam == VK_RETURN)
			{
				char buffer[40];
				GetWindowText(hwnd, buffer, 40);
				MessageBox(hwnd,"Test","TeXt", NULL);
			}
			break;
		}

Das Problem dabei:
Er registriert den Enterdruck nur wenn man sich ausserhalb der Textbox befindet.
Also muss ich doch (klärt mich auf wenn ich das falsch verstanden hab) die Nachrichten der Textbox an die Hauptklasse schicken oder?
DAnn bekomme ich sie über meine CALLBACK Funktion....

Wie mache ich das ?


Oder was muss ich anstelle machen ?



--Ano
 
Grundsätzlich schicken Controls solche Nachrichten automatisch an das Parentfenster. In der Callback-Funktion tritt dann eine WM_COMMAND-Message in Kraft. Diese musst du auswerten.Über wParam und lParam erhältst du dann die weiteren Parameter, z.b. welches Ereignis an welchem Control anliegt. Soviel zur allgemeinen Vorgehensweise. Wie das speziell für den Tastendruck funktioniert müsstest du über Google bzw. MSDN leicht herausbekommen.

Übrigens: Bei Eltern- und Kindprozessen geht es eigentlich um was anderes und insofern sind die Begriffe in der Überschrift nicht ganz richtig gewählt.

mfg, softrunner
 
Zurück
Oben