DefMDIChildProcA-Funktion (winuser.h)

Stellt die Standardverarbeitung für alle Fenstermeldungen bereit, die von der Fensterprozedur eines untergeordneten MDI-Fensters (Multiple Document Interface) nicht verarbeitet werden. Eine Fenstermeldung, die nicht von der Fensterprozedur verarbeitet wird, muss an die Funktion DefMDIChildProc und nicht an die Funktion DefWindowProc übergeben werden.

Syntax

LRESULT LRESULT DefMDIChildProcA(
  [in] HWND   hWnd,
  [in] UINT   uMsg,
  [in] WPARAM wParam,
  [in] LPARAM lParam
);

Parameter

[in] hWnd

Typ: HWND

Ein Handle für das untergeordnete MDI-Fenster.

[in] uMsg

Typ: UINT

Die zu verarbeitende Meldung.

[in] wParam

Typ: WPARAM

Zusätzliche meldungsspezifische Informationen.

[in] lParam

Typ: LPARAM

Zusätzliche meldungsspezifische Informationen.

Rückgabewert

Typ: LRESULT

Der Rückgabewert gibt das Ergebnis der Nachrichtenverarbeitung an und hängt von der Nachricht ab.

Hinweise

Die DefMDIChildProc-Funktion geht davon aus, dass das übergeordnete Fenster des untergeordneten MDI-Fensters, das durch den hWnd-Parameter identifiziert wird, mit der MDICLIENT-Klasse erstellt wurde.

Wenn die Fensterprozedur einer Anwendung keine Nachricht verarbeitet, übergibt sie die Nachricht in der Regel an die Funktion DefWindowProc , um die Nachricht zu verarbeiten. MDI-Anwendungen verwenden die Funktionen DefFrameProc und DefMDIChildProc anstelle von DefWindowProc , um die Standardnachrichtenverarbeitung bereitzustellen. Alle Nachrichten, die eine Anwendung normalerweise an DefWindowProc übergeben würde (z. B. Nichtclientnachrichten und die WM_SETTEXT Nachricht), sollten stattdessen an DefMDIChildProc übergeben werden. Darüber hinaus verarbeitet DefMDIChildProc auch die folgenden Nachrichten.

Meldung Antwort
WM_CHILDACTIVATE Führt die Aktivierungsverarbeitung durch, wenn untergeordnete MDI-Fenster dimensioniert, verschoben oder angezeigt werden. Diese Nachricht muss übergeben werden.
WM_GETMINMAXINFO Berechnet die Größe eines maximierten untergeordneten MDI-Fensters basierend auf der aktuellen Größe des MDI-Clientfensters.
WM_MENUCHAR Übergibt die Nachricht an das MDI-Framefenster.
WM_MOVE Berechnet MDI-Client-Bildlaufleisten neu, sofern sie vorhanden sind.
WM_SETFOCUS Aktiviert das untergeordnete Fenster, wenn es sich nicht um das aktive untergeordnete MDI-Fenster handelt.
WM_SIZE Führt Vorgänge aus, die zum Ändern der Größe eines Fensters erforderlich sind, insbesondere zum Maximieren oder Wiederherstellen eines untergeordneten MDI-Fensters. Wenn diese Nachricht nicht an die DefMDIChildProc-Funktion übergeben wird, führt dies zu höchst unerwünschten Ergebnissen.
WM_SYSCOMMAND Verarbeitet Fenstermenübefehle: SC_NEXTWINDOW, SC_PREVWINDOW, SC_MOVE, SC_SIZE und SC_MAXIMIZE.
 

Hinweis

Der winuser.h-Header definiert DefMDIChildProc als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Konzept

DefFrameProc

DefWindowProc

Mehrere Dokumentschnittstellen

Referenz

WM_CHILDACTIVATE

WM_GETMINMAXINFO

WM_MENUCHAR

WM_MOVE

WM_SETFOCUS

WM_SETTEXT

WM_SIZE

WM_SYSCOMMAND