A quoi sert l’enregistrement de classes de fenêtres?

A quoi WNDCLASSEX enregistrement d’une classe de fenêtre via WNDCLASSEX et RegisterClassEx() lors de la création d’une fenêtre dans une application API Windows?

La séparation des atsortingbuts de fenêtre dans les éléments CreateWindow () et RegisterClass () a été effectuée très tôt pour permettre la création de fenêtres à comportement uniforme. Les commandes de dialog (boutons, zones de liste, etc.) en sont un excellent exemple: elles partagent toutes une classe. Cela signifie – qu’ils partagent une procédure de fenêtre, ce qui signifie – qu’ils partagent la logique de la peinture, les réactions d’entrée, les messages personnalisés, les notifications, etc.

Au niveau de l’application, le cas le plus courant lorsque vous avez plusieurs fenêtres de la même classe est celui des documents dans une interface à plusieurs documents. Parfois, les gens introduisent des contrôles spécifiques à l’application. La distinction sert donc son but.

L’objective principal est de donner au système le bon WndProc à appeler lorsqu’il y a quelque chose à traiter dans la queue des messages.

Il y a quelques drapeaux, mais le point principal est le ci-dessus.

Les classes de fenêtres correspondent aux types de «widgets» sur l’interface utilisateur:

  • bouton
  • case à cocher
  • barre de défilement
  • boîte combo
  • listbox

WndProc est le seul pilote du comportement du widget.

D’où le mapping: widget (type de contrôle) -> wndclass -> WndProc