jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
10 juil. 2007 à 09:49
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
10 juil. 2007 à 10:52
Salut à tous,
Sous Windows2000, VS2005,
J'ai adapter un code trouver sur le net pour mes besoins (un bouton avec le style XP) tout marche nickel. la n'est pas le problème. c'est une classe qui hérite de System.Windows.Forms.Control et qui implemente l'interface IButtonControl
mon bouton doit avoir part défaut la font suivante:
- "Arial", 12pt , System.Drawing.FontStyle.Regular
- j'ai surchargé Font de ma classe de base:
- j'ai aussi essayer de mettre un champ privé de type Font.
Mais rien n'y fait lorsque j'insère mon bouton dans un formulaire il prend automatiquement la font du parent...
Est ce quelque'un pourrait m'expliquer comment contourner ce problème.
il y a t'il quelque chose que j'aurais oublier d'implémenter ou une propriété miracle?
J'espère que vous pourrez éclairer ma lanterne avec une petite solution ou un petit lien, bref quelque chose qui pourra me faire avancer, d'avance merci
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 juil. 2007 à 10:52
Salut,
Merci pour la réponse.
En fait je viens de trouver à l'instant.
Je faisait une mauvaise surcharge de Font... tout simplement.
Donc en Surchargeant Font et en passant par un champs de type Font cela fait ce que je souhaite.
Je suis vraiment désolé d'avoir appelé à l'aide alors qu'il suffisait de bien comprendre la surcharge...
Private Font _textFont = New Font("Arial", 12, FontStyle.Regular);
[Category("TIAMA Properties"), Description("Police de caractère du texte du bouton"),
DefaultValue(TypeOf(Font), "Arial, 12 pt")]
Public override Font Font
{
Get { Return _textFont; }
Set
{
_textFont = value;
this.Invalidate();
}
} , ----
(Coloration syntaxique automatique par Kenji)
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 10 juil. 2007 à 10:29
Salut,
Tu pourrais overrider OnPaint, faire base.OnPaint, puis redessiner toi-même le texte par au-dessus ?
Oui c'est pas top... mais si tout ce que tu a essayé ne marche pas je sais pas...
Ou alors un artifice :
Tu override OnPaint, tu change la police du parent par celle que tu veux
Tu fais base.OnPaint
Tu remet la police du parent...