Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
prog:lazarus:cas:wm_messages:messages [10/04/2021 15:56] thierry créée |
prog:lazarus:cas:wm_messages:messages [18/03/2023 12:35] (Version actuelle) thierry ↷ Page déplacée de prog:lazarus:cas:messages:messages à prog:lazarus:cas:wm_messages:messages |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Les Messages Windows ====== | ====== Les Messages Windows ====== | ||
- | ===== Identification des messages ===== | + | ===== Identification des Messages Windows ===== |
==== Messages privés ==== | ==== Messages privés ==== | ||
Ligne 6: | Ligne 6: | ||
Les valeurs d'identification des messages sont utilisées comme suit : | Les valeurs d'identification des messages sont utilisées comme suit : | ||
- | * 0x0000 -> 0x03FF : Réservé par le Système, NE Pas toucher ! | + | * 0x0000 -> 0x03FF : Réservé par le Système, NE Pas toucher ! (0 -> 1023) |
- | * 0x0400->0x7FFF : (WM_USER=0x0400) utilisable pour les messages privés. | + | * 0x0400 -> 0x7FFF : (WM_USER=0x0400) utilisable pour les messages privés. (1024 -> 32767) |
- | * 0x8000->0xBFFF : (Wm_APP=0x8000) utilisable pour les messages privés SI votre application est marquée version 4.0. | + | * 0x8000 -> 0xBFFF : (Wm_APP=0x8000) utilisable pour les messages privés SI votre application est marquée version 4.0. (32768 -> 49151) |
- | * 0xC000 -> 0XFFFF : Plage réservée pour enregistrer des messages privé GARANTIS UNIQUE par appel a la fonction **RegisterWindowMessage** | + | * 0xC000 -> 0XFFFF : Plage réservée pour enregistrer des messages privé GARANTIS UNIQUE par appel a la fonction **RegisterWindowMessage** (49152 -> 65535) |
+ | |||
+ | === Fonction RegisterWindowMessage === | ||
+ | |||
+ | |||
+ | L'identificateur de message renvoyé par cette fonction est garanti comme étant unique dans tout le système. L'utilisation de cette fonction permet d'éviter les conflits qui peuvent survenir si d'autres applications utilisent le même identifiant de message à des fins différentes. | ||
+ | |||
+ | La fonction** RegisterWindowMessage** est généralement utilisée pour enregistrer des messages afin de communiquer entre deux applications qui coopèrent. | ||
+ | |||
+ | Si deux applications différentes enregistrent la même chaîne de message, les applications renvoient la même valeur de message. Le message reste enregistré jusqu'à la fin de la session. | ||
+ | |||
+ | N'utilisez **RegisterWindowMessage** que lorsque plusieurs applications doivent traiter le même message.\\ | ||
+ | Pour envoyer des messages privés dans une classe de fenêtre, une application peut utiliser n'importe quel nombre entier compris entre WM_USER(0x0400) et 0x7FFF (Les messages de cette plage sont privés pour une classe de fenêtre, et non pour une application. Par exemple, les classes de contrôle prédéfinies telles que BUTTON, EDIT, LISTBOX et COMBOBOX peuvent utiliser des valeurs dans cette plage). | ||
+ | |||
+ | ====== Sources & Ressources ====== | ||
+ | * [[https://docs.microsoft.com/en-us/windows/win32/winmsg/about-messages-and-message-queues]] | ||
+ | * [[https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registerwindowmessagea]] | ||
+ | * [[https://jfdeterme.developpez.com/tutoriels/delphi/messagesys/]] | ||
+ | |||
- | <note>**RegisterWindowMessage** \\ L'identificateur de message renvoyé par cette fonction est garanti comme étant unique dans tout le système. L'utilisation de cette fonction permet d'éviter les conflits qui peuvent survenir si d'autres applications utilisent le même identifiant de message à des fins différentes.</note> | ||