Zum Inhalt springen

Nachrichten ohne MESSAGE_MAP behandeln


maddin

Empfohlene Beiträge

moin mfc ler,

ich hoffe ihr könnt mir ein wenig weiterhelfen. ich bin auf der suche nach einer möglichkeit, die ankommenden nachrichten ohne den kram von wegen DECLARE_MESSAGE_MAP, BEGIN_MESSAGE_MAP, END_MESSAGE_MAP auszuwerten. weiß jemand von euch was ich für eine funktion bemühen kann um mir die nachrichten selber von der nachrichtenschlagen zu holen. oder irgendeinen anderen weg. wäre echt super.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moijen!

So sollte es funktionieren (ohne Gewähr, hab's nicht probiert...):

Zuerst eine Variable deklarieren, die die "alte" Fensterprozedur aufnimmt, und diese mit Hilfe des Fensterhandles des Hauptfensters initialisieren:

HWND hWndMain = AfxGetMainWnd()->GetSaveHwnd();

WNDPROC OldProc = GetWindowLong(hWndMain, GWL_WNDPROC);

Dann eine eigene Fenster-Funktion deklarieren/definieren, die die Nachrichten (zuerst) behandeln soll:

LRESULT CALLBACK MyMsgHandler(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)

{

switch(nMsg){

case WM_CREATE:

...

break; // auch "return 0;" ist möglich, dann dürfte die

// Nachricht allerdings von Windows nicht weiter

// bearbeitet werden

case...

case...

};

return CallWindowProc(OldProc, hWnd, nMsg, wParam, lParam);

}

Diese eigene Fenster-Prozedur dem Hauptfenster zuordnen:

SetWindowLong(hWndMain, GWL_WNDPROC, MyMsgHandler);

Wie gesagt, in MFC-Programmen hab ich's noch nicht probiert.

Bis denn

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...