IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxWidgets Discussion :

image de fond pour un wxScrolledWindow


Sujet :

wxWidgets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Par défaut image de fond pour un wxScrolledWindow
    bonjour,

    j'ai un problème pour donner une image de fond à un wxScrolledWindow dont lequel j'ai placé des hyperlinks.

    j'ai réecris la methode OnPaint , et ca marche bien
    mais j'ai deux problème:

    1) quand je fais défiler la scrollbar, il ya l'image qui se déforme, et ca se résout quand je réduits la fenêtre et je la réaffiche.

    2) j'ai donner un style de transparence aux hyperlinks qui sont dans la wxScrolledWindow , mais dès que je les survole avec la souris, leurs couleur de fond transparente change, et prennent la couleur de fond de la fenêtre principale, mais ca se rétablie avec un simple réduire/réafficher la fenêtre


    Merci pour votre aide.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Si c'est une image de fond il faut l'afficher en réponse aux évènements wxEraseEvent plutôt que wxPaintEvent, je pense.

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Par défaut
    pour faire une image de fond pour un controle , on met le code dans l'evenement EVT_PAINT et pas dans EVT_ERASE_BACKGROUND.

    ce n'est pas ca le probleme, car le probleme se pose au niveau des widgets fils(ici hyperlinks) qui prennent pas un fond transparent, mais il prennent celui de la fenetre princpale, et quand j'ai specifié le style transparent à la construction de ces hyperlinks le probleme s'est résolu, mais pas au survole de la souris, car au survole les hyperlinks reprennent la couleur de fond de la fenetre principale.

    Merci de me proposer vos solutions.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Je pense plutôt que les contrôles sont bien transparents mais quand ils ont besoin de se rafraichir, un évènement EVT_ERASE_BACKGROUND est envoyé à la fenêtre parente, qui va remplir le fond avec sa couleur de fond. Pour éviter cela il faut au minimum définir une fonction OnEraseBackround() vide, ou mieux y afficher l'image et pas dans OnPaint().

Discussions similaires

  1. 3 Image de fond pour la frame gauche
    Par badway dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 01/10/2007, 13h19
  2. image de fond pour une JList
    Par barbiche dans le forum Composants
    Réponses: 1
    Dernier message: 04/05/2007, 12h10
  3. [treeview] image de fond pour treeview BDS 2006
    Par netah25 dans le forum C++Builder
    Réponses: 6
    Dernier message: 04/01/2007, 23h34
  4. Image de fond pour pc locké
    Par shukin dans le forum Windows XP
    Réponses: 2
    Dernier message: 18/09/2006, 16h58
  5. Image de fond pour xdm
    Par BloodyImp dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 15/09/2004, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo