Contrôles de Windows prédéfinis - Partie 7 Volume - Interface utilisateur Windows Introduction Ce fait partie de ma série 7, les contrôles Windows prédéfinis. Afin de comprendre ce tutoriel, vous avez plus de lire tous les tutoriels précédents de la série. Dans cette partie de la série, nous regardons les messages que l'application peut envoyer au contrôle d'édition. Nous voyons aussi comment travailler avec l'LOWORD et HIWORD. Enfin, nous regardons une macro (fonction).
Remarque: Si vous ne pouvez pas voir le code ou si vous pensez que quelque chose manquait (lien brisé, l'image absente), contactez-moi au [email protected]. Qui est, me contacter pour le moindre problème que vous avez à propos de ce que vous lisez. Messages qui peuvent être envoyés Une application peut envoyer un message à un contrôle d'édition. Les messages sont des processus par la procédure de la classe de fenêtre prédéfinie. Pour le reste de cette série, nous allons examiner ces messages de contrôle d'édition.
Pour envoyer un message à un contrôle, vous pouvez utiliser la fonction SendMessage dont la syntaxe est: LRESULT WINAPI SendMessage (HWND hWnd, UINT Msg, WPARAM wParam, lParam LPARAM); On l'a vu dans une syntaxe des parties précédentes de la série. Cette fonction retourne la valeur de retour du message. Pour les paramètres de la fonction, HWND est la poignée de la commande. Msg est le code de message (identifiant), comme EM_GETSEL (voir ci-dessous). wParam et lParam sont pour toutes les données d'accompagnement pour le code de message.
Faisons maintenant les messages: Messages EM_CANUNDO Ce message est utilisé pour déterminer si l'action la plus récente dans le contrôle d'édition peut être annulée. Si elle ne peut pas être annulée, la valeur de retour est non nulle. Les paramètres wParam et lParam de ce message ne sont pas utilisés et doivent chacun être zéro (CAST pour WPARAM ou LPARAM en conséquence). EM_CHARFROMPOS Une application envoie ce message pour le contrôle d'édition pour déterminer le caractère plus proche d'un point spécifié dans la zone client d'un contrôle d'édition.
Ici, le paramètre wParam est pas utilisé; mettre à NULL. Le paramètre lParam a les coordonnées du point de la zone client du contrôle, par rapport au coin supérieur gauche de la zone cliente, en unités d'écran. Le LOWORD lParam contient la coordonnée horizontale, tandis que le HIWORD contient la coordonnée verticale. La valeur de retour du message est retourné comme LRESULT, qui est la valeur