begin process at 2010 02 10 00:42:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Evènement PAINT d'un contrôle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Evènement PAINT d'un contrôle

mardi 2 novembre 2004 à 10:47:28 | Evènement PAINT d'un contrôle

nicolos

Bonjour,

Je voudrais savoir comment capturer l'évènement PAINT d'un controle tel que TLabel ou TButton sous Borland C++ Builder 6 ?
Ou sinon, de même avec un STATIC ou CButton sous Visual C++ 6

Merci
mardi 2 novembre 2004 à 13:36:03 | Re : Evènement PAINT d'un contrôle

vecchio56

Administrateur CodeS-SourceS
Sous Visual C++, tu peux sous classer le controle (voir SetWindowLong sur MSDN), et traiter WM_PAINT dans la nouvelle WndProc
mardi 2 novembre 2004 à 17:19:33 | Re : Evènement PAINT d'un contrôle

Nebula

Membre Club
Pour C++ Builder, si çà marche comme Delphi, tu as un event OnPaint dans lequel tu peux utiliser le TCanvas au lieu de l'API.
mardi 2 novembre 2004 à 18:42:24 | Re : Evènement PAINT d'un contrôle

nicolos

Justement, le problème est là.

Il n'y a pas dévènement onPaint dans le gestionnaire de proriétés du controle TLabel ou TButton sous Borland C++ Builder 6. Alors, comment faire ?

Merci
mardi 2 novembre 2004 à 19:00:07 | Re : Evènement PAINT d'un contrôle

Nebula

Membre Club
Essaie de surcharger directement Paint dans ton code (section protected, je crois) avec la directive override, et appelle inherited dès le début pour que le contrôle se dessine... Ensuite, tu pourras dessiner tes propres modifications (ou tout gérer toi même, sans inherited).

Encore une fois je me base sur Delphi, donc je ne sais pas si c'est applicable (mais logiquement, çà devrait)...
mercredi 3 novembre 2004 à 22:00:00 | Re : Evènement PAINT d'un contrôle

nicolos

J'ai réussi à surcharger la fonction qui gère les évènements du controle, mais il y a un nouveau problème, une erreur à la fermeture de l'application EStackOverFlow.



1: //Lors de la création de la fenêtre
2: Label1->WindowProc = Label1WndProc;
3:
4: //Ma fonction de gestion des évènements de mon Label1
5: void __fastcall Label1WndProc(TMessage &message) {
6: if(message.message == WM_PAINT)
7: // Gestion de mon dessin
8: else
9: Form1->WndProc(message);
10: }


Le problème se situerai à la ligne 9, d'après le débogueur de Borland C++ Builder 6.
Et donc, pourquoi cette erreur ?
Si j'enlève le renvoie du message par WndProc(), il n'y a plus d'erreur, mais les évènemnts autres que PAINT définie à partir de l'esplorateur de propriétés ne fonctionnent plus.
Voila

merci


Cette discussion est classée dans : contrôle, paint, evènement


Répondre à ce message

Sujets en rapport avec ce message

Contrôle MSComm [ par NicolasGHT ] Salut, Je voudrais savoir comment envoyer des données vers le port série en utilisant le contrôle MSComm et Visual C++ 6.0.Je sais comment fonctionne encore moi... je cherche un contrôle... [ par karine ] je cherche un contrôle ayant le même fonctionnement qu'une vue (affichage de graphiques, scroll...). En fait comme une richedit avec en plus un affich Afficher un Bmp dans un controle [ par Xaviou ] Salut.Je cherche comment créer un contrôle graphique (du style des PictureBox de VB, pour ceux qui connaissent).J'ai besoin de gérer l'appui, le dépl Association de variable au contrôle [ par Fantoooom ] Salut,Je suis débutant en langage C++. J'utilise Visual C++. En utilisant AppWizard, je mets en place mes bouton, zone de saisie, etc. Je leur donne à Pbs avec contrôle RichTextEdit [ par appstmd ] J'utilise le contrôle RichText dans une boîte de dialogue dans une ressource. Je voudrais mettre le contenu d'une variable dans ce contrôle sous forme Organigrammes et MFC [ par jpeg ] Voilà, je suis en train de programmer une appli dont le contenu du document doit être représenté sous forme d'organigramme (pas celle d'un arbre). Cel affecter une valeur à un contrôle depuis n'importe quel endroit... [ par ninoflo ] Bonjour,je développe une appli en Visual C++ basée sur une boite de dialogue.J'ai par ailleurs créé un thread qui doit mettre à jour un contrôle CEdit RichEdit Paint [ par crocejf2000 ] Salut a tous,-->OS Win98, Borland C++ 5Je suis toujours avec mon compilateur maison, et j'ai un petit probleme d'affichage de ma RichEdit -> c'est pou Evènement clavier sous VC++ [ par curator68 ] Curator68J'ai besoin d'aide en ce qui concerne les évènements clavier WM_KEYUP, WM_KEYDOWN et WM_CHAR.j'arrive pas à intercepte Contrôle HtmlEdit [ par appstmd ] Bonjour !Je voudrais savoir le moyen de connaître quand le contenu d'un contrôle HtmlEdit (CHtmlEditCtrl) a été modifié. Ceci pour empêcher l'utilisat


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales