Partager via


LPPAGESETUPHOOK, fonction de rappel (commdlg.h)

Reçoit des messages ou des notifications destinés à la procédure de boîte de dialogue par défaut de la boîte de dialogue Mise en page . La procédure de raccordement PageSetupHook est une fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction PageSetupDlg .

Le type LPPAGESETUPHOOK définit un pointeur vers cette fonction de rappel. PageSetupHook est un espace réservé pour le nom de fonction défini par l’application ou défini par la bibliothèque.

Syntaxe

LPPAGESETUPHOOK Lppagesetuphook;

UINT_PTR Lppagesetuphook(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Paramètres

unnamedParam1

Handle de la boîte de dialogue Mise en page pour laquelle le message est destiné.

unnamedParam2

Identificateur du message reçu.

unnamedParam3

Informations supplémentaires sur le message. La signification exacte dépend de la valeur du paramètre unnamedParam2 .

unnamedParam4

Informations supplémentaires sur le message. La signification exacte dépend de la valeur du paramètre unnamedParam2 .

Si le paramètre unnamedParam2 indique le message WM_INITDIALOG , unnamedParam4 est un pointeur vers une structure PAGESETUPDLG contenant les valeurs spécifiées lors de la création de la boîte de dialogue.

Valeur retournée

Si la procédure de raccordement retourne zéro, la procédure de boîte de dialogue par défaut traite le message.

Si la procédure de raccordement retourne une valeur différente de zéro, la procédure de boîte de dialogue par défaut ignore le message.

Remarques

Lorsque vous utilisez la fonction PageSetupDlg pour créer une boîte de dialogue Mise en page , vous pouvez fournir une procédure de hook PageSetupHook pour traiter les messages ou les notifications destinés à la procédure de boîte de dialogue. Pour activer la procédure de raccordement, utilisez la structure PAGESETUPDLG que vous avez passée à la fonction de création de dialogue. Spécifiez le pointeur vers la procédure de raccordement dans le membre lpfnPageSetupHook et spécifiez l’indicateur PSD_ENABLEPAGESETUPHOOK dans le membre Flags .

La procédure de boîte de dialogue par défaut traite le message WM_INITDIALOG avant de le passer à la procédure de raccordement. Pour tous les autres messages, la procédure de raccordement reçoit d’abord le message. Ensuite, la valeur de retour de la procédure de raccordement détermine si la procédure de boîte de dialogue par défaut traite le message ou l’ignore.

Si la procédure de raccordement traite le message WM_CTLCOLORDLG , elle doit retourner une poignée de pinceau valide pour peindre l’arrière-plan de la boîte de dialogue. En général, si la procédure de raccordement traite un message WM_CTLCOLOR* , elle doit retourner une poignée de pinceau valide pour peindre l’arrière-plan du contrôle spécifié.

N’appelez pas la fonction EndDialog à partir de la procédure de raccordement. Au lieu de cela, la procédure de raccordement peut appeler la fonction PostMessage pour publier un message WM_COMMAND avec la valeur IDABORT dans la procédure de boîte de dialogue. La publication d’IDABORT ferme la boîte de dialogue et renvoie false à la fonction de boîte de dialogue. Si vous avez besoin de savoir pourquoi la procédure de raccordement a fermé la boîte de dialogue, vous devez fournir votre propre mécanisme de communication entre la procédure de raccordement et votre application.

Vous pouvez sous-classer les contrôles standard d’une boîte de dialogue commune. Toutefois, la procédure de boîte de dialogue peut également sous-classer les contrôles. Pour cette raison, vous devez sous-classer les contrôles lorsque votre procédure de raccordement traite le message WM_INITDIALOG . Cela garantit que votre procédure de sous-classe reçoit les messages spécifiques au contrôle avant la procédure de sous-classe définie par la procédure de boîte de dialogue.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête commdlg.h (inclure Windows.h)

Voir aussi

Bibliothèque de boîtes de dialogue commune

Conceptuel

EndDialog

PAGESETUPDLG

PageSetupDlg

PostMessage

Référence

WM_CTLCOLORDLG

WM_INITDIALOG