2010-10-04 4 views

Répondre

3

Le contrôle Compact Framework StatusBar est très, très basique et limité en fonctionnalités. Il ne supporte pas l'ajout d'images ou même plusieurs panneaux. Cela est en partie dû à la paresse de l'équipe des FC (OMI) et en partie à cause des limites de l'OS.

Le contrôle commun de la barre d'état du système d'exploitation prend en charge jusqu'à 255 panneaux. L'équipe des FC n'en a pas autorisé plus d'un. C'est de la paresse pure, mais au moins vous pouvez contourner le problème en le sous-classant et en lui envoyant un message SB_SETPARTS. Il faudrait une bonne quantité de P/Invoke pour que tout fonctionne, donc à moins d'en avoir vraiment besoin, je l'éviterais.

Cependant, les images ne sont même pas prises en charge dans le contrôle natif. Il est possible que vous puissiez le sous-classer et ensuite gérer WM_PAINT vous-même et dessiner dans votre icône. Je n'ai pas essayé, mais cela semble être une approche raisonnable. Cela va nécessiter un peu d'appels natifs laids pour tous les trucs GDI aussi. Cela a le potentiel de fuites de mémoire ou de violations d'accès, donc à moins que vous en ayez vraiment besoin et que vous soyez à l'aise avec la bonne vieille peinture Win32, vous pouvez essayer de trouver une autre solution avant de décider de cette route.

Questions connexes