2010-03-11 4 views
0

Sous Microsoft Windows, une fonction (très utile) déplace automatiquement le curseur sur le bouton par défaut d'une boîte de dialogue modale (activée dans Win + R, "souris de contrôle").Boîte de message personnalisée: Fonction «Déplacer le curseur vers le bouton par défaut» de Windows

Maintenant, j'ai créé une boîte de dialogue personnalisée dans Delphi (fondamentalement un TForm), voir ci-dessous.

http://privat.rejbrand.se/dialog.png

Mais, tout naturellement, le curseur ne se déplace pas automatiquement sur le bouton par défaut (« Oui » dans ce cas), même si la fonction est activée dans « la souris de contrôle ». Comment implémenter cette fonctionnalité à l'aide de l'API Windows? Je suppose qu'il suffirait d'obtenir les paramètres en tant que booléen (true si la fonctionnalité est activée, false sinon), puis de simplement déplacer le curseur par programme en utilisant SetCursorPos si true. Mais comment obtenir ce paramètre?

Répondre

3

Appel SystemParametersInfo() avec SPI_GETSNAPTODEFBUTTON

+0

Bien que je suppose que les deux solutions fonctionneraient sur toutes les versions modernes de Windows, je pense que celui-ci est le meilleur. Même si ce n'est pas plus rapide (eh bien, ce pourrait être le cas, mais de toute façon ce n'est pas un problème ici), la compatibilité entre les versions d'OS est probablement supérieure avec cette solution. –

Questions connexes