Nachrichten der Kindprozesse an den Hauptprozess schicken
-
Also ich hab in meiner Hauptfensterklasse eine Textbox Gemacht:
Die Textbox: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:
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
-
When the multiline edit control is in a dialog box, the default response to pressing the ENTER key is to activate the default button. To use the ENTER key as a carriage return, use the ES_WANTRETURN style.
When the multiline edit control is not in a dialog box and the ES_AUTOVSCROLL style is specified, the edit control shows as many lines as possible and scrolls vertically when the user presses the ENTER key.
Es gibt evtl. auch noch eine bessere Lösung, aber du könntest das ganze entweder in einen dialog packen oder das edit control subclassen
-
DAs Mit dem SUbclassen klingt verdammt gut...
Sobald ich zuhause bin werd ich mir das mal genauer anschauen...
Danke für deine Hilfe--Ano
-
Hoi
Also ich hab mir das Subclassing jetzt angeschaut und es in meinen Code euingebaut und jetzt kommt da ein Fehler.
Ich bin mir recht sicher das es daran liegt das ich nicht das neuste SDK hab.
Ich habe im Forum gesucht und gesehen das noch jemand mit ähnlichem Problem auch das neuste SDK brauchte....
Dort hab ich auch den Link zu den Windows SDK's gefunden...
In dem Beitrag stand man bräuchte das PSDK.
Tja und jetzt hab ich das Problem:
Was brauch ich ?
Zur auswahl sind:Windows SDK
Core SDK
Internet Development SDK
IIS SDKMDAC SDK
Windows Installer SDK
WMI SDK
Tablet PC SDKWindows Media SDK
Windows Media Services SDK
.NET Enterprise ServersWas brauche ich?
Was soll PSDK sein?
Wenn ich das Windows SDK runterladen will soll ich alle runterladen und das sind dann 200 MB und das ist mit meinem ISDN ein wenig viel...Ich brauch ja nur eins...nur welches???? *heul*
--Ano
-
Was für einen Fehler bekommst du denn?
PSDK - Platform Software Development Kit
Bruachen wirst du wohl wenn überhaupt nur den CoreSDK (Bestandteil des WindowsSDK)
-
Anonym00 schrieb:
Hoi
Also ich hab mir das Subclassing jetzt angeschaut und es in meinen Code euingebaut und jetzt kommt da ein Fehler.
Ich bin mir recht sicher das es daran liegt das ich nicht das neuste SDK hab.Quatsch! Subclassen konnte man schon unter Win95, wenn nicht sogar unter Win 3.1.
P.S.: Der Titel dieses Threads ist total fehl am Platze!