Le code utilise la fonction DrawFocusRect des API par souci de simplification. Le but du demandeur est de dessiner un rectangle de couleur. Il n'y a aucune difficulté à utiliser la méthode Rectangle d'un objet Canvas en remplacement.
Je précise que ce code ne se limite pas à dessiner un rectangle mais qu'il vérifie :
- que le dessin reste dans des limites fixées (voir commentaires sur la méthode MakeRect)
- que le rectangle de sélection, qu'il soit dessiné vers la droite ou la gauche, le haut ou le bas, ajuste les coordonnées pour obtenir un rectangle dont les coordonnées sont toujours définies de la manière suivante : (coin supérieur gauche, coin inférieur droit).