Partager via


Fonction de rappel DLGPROC (winuser.h)

Fonction de rappel définie par l’application utilisée avec les familles CreateDialog et DialogBox de fonctions. Il traite les messages envoyés à une boîte de dialogue modale ou sans mode. Le type DLGPROC définit un pointeur vers cette fonction de rappel. DialogProc est un espace réservé pour le nom de la fonction définie par l’application.

Syntaxe

DLGPROC Dlgproc;

INT_PTR Dlgproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Paramètres

unnamedParam1

Type : HWND

Handle de la boîte de dialogue. Ce paramètre est généralement nommé hWnd.

unnamedParam2

Type : UINT

Message. Ce paramètre est généralement nommé uMsg.

unnamedParam3

Type : WPARAM

Informations supplémentaires spécifiques aux messages. Ce paramètre est généralement nommé wParam.

unnamedParam4

Type : LPARAM

Informations supplémentaires spécifiques aux messages. Ce paramètre est généralement nommé lParam.

Valeur retournée

Type : INT_PTR

En règle générale, la procédure de boîte de dialogue doit retourner TRUE si elle a traité le message et FALSE si ce n’est pas le cas. Si la procédure de boîte de dialogue retourne FALSE, le gestionnaire de dialogue effectue l’opération de dialogue par défaut en réponse au message.

Si la procédure de boîte de dialogue traite un message qui nécessite une valeur de retour spécifique, la procédure de boîte de dialogue doit définir la valeur de retour souhaitée en appelant SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) immédiatement avant de retourner TRUE. Notez que vous devez appeler SetWindowLong immédiatement avant de retourner TRUE ; cela peut entraîner le remplacement de la valeur DWL_MSGRESULT par un message de boîte de dialogue imbriqué.

Les messages suivants sont des exceptions aux règles générales indiquées ci-dessus. Pour plus d’informations sur la sémantique de la valeur de retour, consultez la documentation relative au message spécifique.

Remarques

Note

Les paramètres sont définis dans l’en-tête sans nom : typedef INT_PTR (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);. Par conséquent, le bloc de syntaxe les répertorie comme unnamedParam1 - unnamedParam4. Vous pouvez nommer ces paramètres dans votre application. Toutefois, elles sont généralement nommées comme indiqué dans les descriptions des paramètres.

Vous devez utiliser la procédure de boîte de dialogue uniquement si vous utilisez la classe de boîte de dialogue pour la boîte de dialogue. Il s’agit de la classe par défaut et est utilisée lorsqu’aucune classe explicite n’est spécifiée dans le modèle de boîte de dialogue. Bien que la procédure de boîte de dialogue soit similaire à une procédure de fenêtre, elle ne doit pas appeler la fonction DefWindowProc pour traiter les messages indésirables. Les messages indésirables sont traités en interne par la procédure de la fenêtre de boîte de dialogue.

Spécifications

Requirement Valeur
Client minimum requis Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Fenêtres
Header winuser.h (include Windows.h)

Voir aussi

Conceptuel

Boîtes de dialogue

WM_INITDIALOG

Référence

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

DefWindowProc

DialogBox

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

SetFocus