Nous avons une application héritée écrite en C qui utilise WinAPI. Nous aimerions ajouter un bouton "Oui à tous" à quelques-unes de nos boîtes de dialogue. Malheureusement, la fonction MessageBox existante n'autorise pas les boutons personnalisés ou les légendes de boutons.Comment créer un bouton "Oui à tous" en utilisant WinAPI?
Quelle est la meilleure façon de le faire? Y a-t-il un bidouillage astucieux pour ajouter facilement un bouton personnalisé? Ou devrions-nous créer notre propre remplacement MessageBox?
Um, créez un bouton et donnez-lui la légende "Oui à tous"? Je pense que vous devez être un peu plus précis. –
MessageBox dans le WinAPI ne permet apparemment pas de créer ses propres boutons et de leur donner des légendes personnalisées. Cela aurait été la première chose que j'aurais essayé. – Brown
Vous pouvez personnaliser MessageBox(). Utilisez SetWindowsHookEx() pour installer un hook CBT spécifique au thread juste avant d'appeler MessageBox(). Lorsque le crochet est déclenché, vous aurez accès au HWND du dialogue, et pouvez faire ce que vous voulez (ajouter des contrôles enfants supplémentaires, déplacer les contrôles, changer le texte, etc.). –