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

MFC Discussion :

Control a l'interieur d'un control


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut Control a l'interieur d'un control
    Bonjour,

    Je voudrais savoir quels sont les principes de base pour créer un custom-control
    (qui peut être un owner draw button ou dérivé de CWnd), qui a l'interieur utilise d'autres control (comme des CButton).
    Exemple : j'ai un control qui est un owner draw button, donc le trace se fait tout dans DrawItem, comment est-il possible d'integrer des CButton dans ce control ? Comment va se passer le trace des CButton ? Comment creer les CButon? Comment gerer les evenements ?
    etc etc
    Merci d'avance de la reponse et desole pour cette question peut etre un peu newby.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par donzagier Voir le message
    Bonjour,
    Exemple : j'ai un control qui est un owner draw button, donc le trace se fait tout dans DrawItem, comment est-il possible d'integrer des CButton dans ce control ?
    en faisait des create sur des boutons dynamiques.
    tu peux mettre un boolean (m_bInit) initialisé dans le constructeur a false tester sa valeur dans drawitem et créer tes boutons en conséquence.
    Note : les boutons auront pour parent le bouton owner draw.
    Citation Envoyé par donzagier Voir le message
    1-Comment va se passer le trace des CButton ?
    2-Comment creer les CButon?
    3-Comment gerer les evenements ?
    etc etc
    1) quelle trace ?
    2) par la méthode Create:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Create a push button.
    myButton1.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,     CRect(10,10,100,30), pParentWnd, 1);
    3) les boutons dynamiques devront être créés a partir d'une classe héritée de CButton .
    dans cette classe tu interceptes l'évènement click.
    pour envoyer l'évènement à la vue , je te suggère l'utilisation d'un message notify .
    voir faq: http://cpp.developpez.com/faq/vc/ind...s#PrivateNotiy
    note: le pointeur sur la fenêtre à partir du bouton dynamique c'est le parent de son parent ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut
    J'ai essaye.
    Ca commence a tourne.
    Dans le PreSubClass j'ai mis un m_button1.Create(.....)
    le bouton est bien cree et visible tant que l'on ne clique pas sur le bouton parent. Dans le control parent (un owner draw button) je retrace tout le control dans un DrawItem. Donc des que l'on clique dans la zone du parent qui n'est pas dans la zone de m_button1, on perd m_buuton1.
    J'ai donc mis un m_button1.Invalidate() a la fin du DrawItem.
    Ca marche, ca flick un peu mais c'est leger.
    Ai je loupe quelque chose ?

    Autre chose, j'ai essaye de mettre une scroll bar dans le boutn fil en ajoutant le style ad hoc : la scroll bar s'affiche mais disparait des le premier clic sur la zone parent. Le invalidate du m_button1 ne retrace pas la scroll bar.
    Idee ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut
    Voici un link d'un control thumbnail. Je ne comprend pas comment ca marche. Dans le control parent il n'y a meme pas de surcharge du paint.
    (pour dire aux fils de se redessiner)

    http://www.codeproject.com/KB/miscct...bnailctrl.aspx

    Ca voudrais dire que quand le parent va se redessiner tous les fils se redessine apres ? Dans mon cas ca marche pas, si je mets pas le m_button1.Invalidate() le fils disparait.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/03/2015, 10h46
  2. Réponses: 20
    Dernier message: 17/12/2008, 11h50
  3. User Control à l'interieur du projet..;
    Par flamandier dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/11/2008, 08h52
  4. Réponses: 0
    Dernier message: 08/08/2007, 10h34
  5. Rx Controls Gif animés
    Par toufou dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/08/2002, 14h09

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