Freigeben über


DefMDIChildProcA-Funktion (winuser.h)

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

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 Nachricht.

[in] wParam

Typ: WPARAM-

Zusätzliche nachrichtenspezifische Informationen.

[in] lParam

Typ: LPARAM-

Zusätzliche nachrichtenspezifische Informationen.

Rückgabewert

Typ: LRESULT-

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

Bemerkungen

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

Wenn die Fensterprozedur einer Anwendung keine Nachricht verarbeitet, übergibt sie die Nachricht in der Regel an die DefWindowProc--Funktion, um die Nachricht zu verarbeiten. MDI-Anwendungen verwenden die DefFrameProc- und DefMDIChildProc- Funktionen 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 werden DefMDIChildProc auch die folgenden Nachrichten behandelt.

Nachricht Antwort
WM_CHILDACTIVATE Führt die Aktivierungsverarbeitung durch, wenn untergeordnete MDI-Fenster angepasst, 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 die MDI-Client-Bildlaufleisten neu, wenn 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 sie diese Nachricht nicht an die DefMDIChildProc Funktion übergeben, werden sehr unerwünschte Ergebnisse erzeugt.
WM_SYSCOMMAND Behandelt Fenstermenübefehle: SC_NEXTWINDOW, SC_PREVWINDOW, SC_MOVE, SC_SIZEund SC_MAXIMIZE.
 

Anmerkung

Der winuser.h-Header definiert DefMDIChildProc als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll

Siehe auch

Konzeptionelle

DefFrameProc-

DefWindowProc-

mehrere Dokumentschnittstellen-

Referenz-

WM_CHILDACTIVATE

WM_GETMINMAXINFO

WM_MENUCHAR

WM_MOVE

WM_SETFOCUS

WM_SETTEXT

WM_SIZE

WM_SYSCOMMAND