Compact Framework [Résolu]

Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Dernière intervention
4 février 2016
- - Dernière réponse : yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
- 26 févr. 2013 à 20:05
Bonjour

Je travaille sur l'interface graphique d'une application, un parmi les screens contient un Tabcontrol avec plusieurs pages, j'aimerai mettre une background image au lieu d'une des couleurs unique qu'offre les propriétés.y a-t-il une manière d'ajouter cette propriétés ???
Merci beaucoup
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
20
3
Merci
Re,

ok,

alors 2 solutions :
Récupérer le Graphics de la page via CreateCraphics puis dessiner dessus lors des appels à DrawItem si mode "OwnerDraw" ou lors des appels à OnPaint du parent. (formulaire ou TabControl ça dépends du paramétrage "Child control" ou non)

Tu peux aussi créer une classe dérivée de TabPages (TabPagesImage) avec overrides du OnPaint et ajouter tes propres TabPagesImage à la place des TabPages de base.
TabControl1.AddPage( monTabPagesImage );
ou un truc dans le style...

bye...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yann_lo_san
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Dernière intervention
4 février 2016
3
Merci
re j'ai trouvé une solution mais j'ai oublié de poster la réponse, Merci yann_lo_san tu m'as donné une indication ;)
cette petite classe fait l'affaire ensuite no declare la page onglet en tant que TabPageWithBackground.

 
public class TabPageWithBackground : TabPage
    {
        private Rectangle _backgroundRect;
        private Bitmap _background;

         public TabPageWithBackground()
        {
            _background = Resource1.ImageBackground;
            _backgroundRect = new Rectangle(0, 0, _background.Width, _background.Height);
            this.Size = new System.Drawing.Size(100, 20);
        }


        protected override void OnPaintBackground(PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawImage(_background, this.ClientRectangle, _backgroundRect, GraphicsUnit.Pixel);
        }
    }

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_aymen87
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
20
0
Merci
Salut,

ben tu peux simplement afficher ton image sur la page voulue ?

// gloable
Image _img = null;

// form load
_img = new Bitmap("imgNimporteQuelleTaille.jpg");

// Affiche image sur page 3 du tabControl
tabControl1.TabPages[2].BackgroundImage = _img;



c'est tout.

bye...
Commenter la réponse de yann_lo_san
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Dernière intervention
4 février 2016
0
Merci
Bonjour yann_lo_san, merci pour ta réponse
le problème c'est que je travaille sur le compact framework, qui est dédié pour les device windows mobile, il est restreint en terme de fonction, il n'offre pas donc la propriété BackgroundImage, on peut juste modifier le backgroundColor
Commenter la réponse de cs_aymen87
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
20
0
Merci
Salut,

c'est nickel ça.

Bonne continuation...
Commenter la réponse de yann_lo_san

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.