Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
723 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++ Builder] ListBox + OnChange event + WINAMP !!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++ Builder] ListBox + OnChange event + WINAMP !!!

n°220728
godbout
Génial.
Posté le 26-09-2002 à 15:10:43  profilanswer
 

Il existe pas [:dawa]
 
Je fais comment alors ?


Message édité par godbout le 27-09-2002 à 11:28:13

---------------
Super.
mood
Publicité
Posté le 26-09-2002 à 15:10:43  profilanswer
 

n°220729
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 15:11:56  profilanswer
 

:heink: Par ce que ça sert pas sur une list box. Qu'est ce que tu veux faire?


---------------
Le Tyran
n°220731
godbout
Génial.
Posté le 26-09-2002 à 15:15:04  profilanswer
 

Il faut utiliser une listview connard :sarcastic:
 
edit: grillaid par letoII :mad:


Message édité par godbout le 26-09-2002 à 15:15:15

---------------
Super.
n°220733
godbout
Génial.
Posté le 26-09-2002 à 15:16:19  profilanswer
 

LetoII a écrit a écrit :

 :heink: Par ce que ça sert pas sur une list box. Qu'est ce que tu veux faire?




En fait je voulais catcher le moment ou tu changes le contenu de la listbox.
Par exemple j'ai un bouton add et remove pour gerer les elements de la liste, et je voulais griser remove lorsque le contenu de la liste est vide.


---------------
Super.
n°220737
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 15:18:57  profilanswer
 

Godbout a écrit a écrit :

 
En fait je voulais catcher le moment ou tu changes le contenu de la listbox.
Par exemple j'ai un bouton add et remove pour gerer les elements de la liste, et je voulais griser remove lorsque le contenu de la liste est vide.




 
Ben faut gérer ça dans les méthode qui ajoute/supprime des éléments. T'as pas besoin de OnChange


---------------
Le Tyran
n°220742
godbout
Génial.
Posté le 26-09-2002 à 15:22:42  profilanswer
 

LetoII a écrit a écrit :

 
 
Ben faut gérer ça dans les méthode qui ajoute/supprime des éléments. T'as pas besoin de OnChange




Euh ben ca me pose un pb quand meme :/
J'ai essaye de modifier mes fonctions de mise a jour de l'etat des boutons, mais le pb c'est que quand tu ajoutes un item a la listbox par ex, et que tu checkes juste apres si il existe un item, et bien la fonction te renvoie -1, tant que t'es pas sorti de l'event (dans le cas la c'etait onclick)
Dans visual tu pouvais gerer ca avec les messages windows (LVN_ITEMCHANGED).


---------------
Super.
n°220747
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 15:25:51  profilanswer
 

Godbout a écrit a écrit :

 
Euh ben ca me pose un pb quand meme :/
J'ai essaye de modifier mes fonctions de mise a jour de l'etat des boutons, mais le pb c'est que quand tu ajoutes un item a la listbox par ex, et que tu checkes juste apres si il existe un item, et bien la fonction te renvoie -1, tant que t'es pas sorti de l'event (dans le cas la c'etait onclick)
Dans visual tu pouvais gerer ca avec les messages windows (LVN_ITEMCHANGED).




 
C pas pour être embétant, mais si tu ajoute un élément est-ce que ça veut pas dire, par hazard, que ta lsite n'est pas vide?


Message édité par LetoII le 26-09-2002 à 15:26:01

---------------
Le Tyran
n°220752
godbout
Génial.
Posté le 26-09-2002 à 15:34:03  profilanswer
 

LetoII a écrit a écrit :

 
 
C pas pour être embétant, mais si tu ajoute un élément est-ce que ça veut pas dire, par hazard, que ta lsite n'est pas vide?




Si, mais alors ca me fait eclater mes fonctions pour mettre des petits bouts de code a droite a gauche, c'est pas que j'ai pas envie de le faire, c'est que je pense qu'il y a quand meme un moyen plus rapide. (en plus ca va pas aller pour quand je vais deleter le dernier element de la liste).
Enfin bon te derange pas, je vais voir ce que je peux faire avec une listview.


---------------
Super.
n°220754
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 15:36:35  profilanswer
 

J'ai l'impression que tu te complique la vie pour rien.


Message édité par LetoII le 26-09-2002 à 15:36:44

---------------
Le Tyran
n°220762
godbout
Génial.
Posté le 26-09-2002 à 15:45:11  profilanswer
 

je crois que ca a toujours ete mon cas effectivement :D
je cherche toujours a faire des trucs qui sont pas possible.


---------------
Super.
mood
Publicité
Posté le 26-09-2002 à 15:45:11  profilanswer
 

n°220764
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 15:48:12  profilanswer
 

Ce que tu veux faire est possible, masi j'ai l'impressino que tu t'y prend pas de la façon la plus simple, stout :D


---------------
Le Tyran
n°220768
godbout
Génial.
Posté le 26-09-2002 à 15:52:25  profilanswer
 

ouais mais j'ai l'impression que c'est la facon la plus propre ;)
Et en fait niveau code apres ca me parait bcp plus propre et bcp plus simple. De toute facon j'experimente, je fais des conneries pour l'instant, histoire de voir comment tout ca fonctionne.
Merci du coup de main ;)


---------------
Super.
n°220825
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-09-2002 à 16:45:46  profilanswer
 

pour la TListBox c'est on OnClick qui représente le changement de sélection
Et très étrangement un changement au clavier déclanche un OnClick, contrairement à celui des ListView/TreeView (bon ça se base sur les messages Windows donc je suppose que c'est à cause de ça)
 
Si tu veux un changement de contenu, bhen y a a pas :D


Message édité par antp le 26-09-2002 à 16:47:24

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°220830
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-09-2002 à 16:49:29  profilanswer
 

Godbout a écrit a écrit :

 
J'ai essaye de modifier mes fonctions de mise a jour de l'etat des boutons, mais le pb c'est que quand tu ajoutes un item a la listbox par ex, et que tu checkes juste apres si il existe un item, et bien la fonction te renvoie -1, tant que t'es pas sorti de l'event (dans le cas la c'etait onclick)
Dans visual tu pouvais gerer ca avec les messages windows (LVN_ITEMCHANGED).




 
Application->ProcessMessages();
 
vu qu'il envoie un message à la listbox (je suppose) pour l'ajout d'item, le message est pas toujours traité instantanément.
Ici tu peux aussi gérer les messages, mais je sais pas comment on fait en C++Builder. En Delphi faut faire une procédure que l'on défini comme interceptrice d'un certain message, mais c'est en utilisant un mot-clé du Pascal ("message" ) donc je connais pas l'équivalent en Builder :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°220832
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 16:51:46  profilanswer
 

antp a écrit a écrit :

 
 
Application->ProcessMessages();
 
vu qu'il envoie un message à la listbox (je suppose) pour l'ajout d'item, le message est pas toujours traité instantanément.
Ici tu peux aussi gérer les messages, mais je sais pas comment on fait en C++Builder. En Delphi faut faire une procédure que l'on défini comme interceptrice d'un certain message, mais c'est en utilisant un mot-clé du Pascal ("message" ) donc je connais pas l'équivalent en Builder :/




 
Le plus simple c un clic droit sur la classe dans l'explorateur, nouvelle méthode, gestionnaire de message (la case à cocher). Et l'IDE te rajoute tout ce qu'il faut.


---------------
Le Tyran
n°220834
godbout
Génial.
Posté le 26-09-2002 à 16:54:43  profilanswer
 

antp a écrit a écrit :

Si tu veux un changement de contenu, bhen y a a pas :D




ok :D


---------------
Super.
n°220835
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-09-2002 à 16:55:11  profilanswer
 

LetoII a écrit a écrit :

 
 
Le plus simple c un clic droit sur la classe dans l'explorateur, nouvelle méthode, gestionnaire de message (la case à cocher). Et l'IDE te rajoute tout ce qu'il faut.




 
ha bhen j'aurai découvert un truc :D
 
y a pas ce machin en Delphi
les gens qui programme en Pascal savent rajouter eux-même une interception de message :o :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°220836
godbout
Génial.
Posté le 26-09-2002 à 16:55:24  profilanswer
 

LetoII a écrit a écrit :

 
 
Le plus simple c un clic droit sur la classe dans l'explorateur, nouvelle méthode, gestionnaire de message (la case à cocher). Et l'IDE te rajoute tout ce qu'il faut.




ah ben voila !
J'vais aller y jeter un oeil. (enfin avant je termine de me battre avec ma listview, plus qu'a delete la selection et c'est bon [:youpi])


---------------
Super.
n°220838
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 16:57:25  profilanswer
 

antp a écrit a écrit :

 
 
ha bhen j'aurai découvert un truc :D
 
y a pas ce machin en Delphi
les gens qui programme en Pascal savent rajouter eux-même une interception de message :o :D




 
Je sais aussi le faire à la main ;)


---------------
Le Tyran
n°220840
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-09-2002 à 16:57:35  profilanswer
 

ouais enfin les interceptions de messages ça ne marche que dans la définition de la classe.
donc que ce soit en Builder ou en Delphi il faut dériver le TListBox il me semble...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°220843
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 17:02:19  profilanswer
 

antp a écrit a écrit :

ouais enfin les interceptions de messages ça ne marche que dans la définition de la classe.
donc que ce soit en Builder ou en Delphi il faut dériver le TListBox il me semble...




 
 :non:  
 
Suffit de rajouter une méthode à la classe de la fenêtre qui contient la listbox
 
Edit: en c++ en tout cas


Message édité par LetoII le 26-09-2002 à 17:02:45

---------------
Le Tyran
n°220846
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-09-2002 à 17:04:07  profilanswer
 

ha ? possible, j'ai jamais testé :D  
les rares messages que j'ai rajoutés étaient relatifs à la fenêtre ou à l'application


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°220852
LetoII
Le dormeur doit se réveiller
Posté le 26-09-2002 à 17:06:57  profilanswer
 

antp a écrit a écrit :

ha ? possible, j'ai jamais testé :D  
les rares messages que j'ai rajoutés étaient relatifs à la fenêtre ou à l'application



ben en fait c l'appli qui reçoit tous les message et qui les dispach après vers chaque composant il me semble.


---------------
Le Tyran
n°220862
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-09-2002 à 17:15:39  profilanswer
 

ouais c'est logique...  
enfin je me disais que peut-être la fenêtre ne recevait que les messages relatifs à son handle...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°221213
godbout
Génial.
Posté le 27-09-2002 à 11:28:48  profilanswer
 

J'me demandais pkoi j'avais pas de tooltip dans C++ Builder et en fait quand y winamp qui tourne en fond il arrive pas a les afficher [:rofl][:rofl][:rofl]


---------------
Super.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++ Builder] ListBox + OnChange event + WINAMP !!!

 

Sujets relatifs
[BORLAND C++ BUILDER 5]Premiere tentative ratée de Drag'n'Drop[DELPHI]Comment avoir un event KeyDown sans etre dans une form
[BORLAND]Utilisation de paquets Delphi dabs Builder 5[C, C++] Comment récup les valeurs d'1 listbox/listview via son handle
Builder recherche un composantC++ Builder : obtenire la liste des processus
[C++ Builder] Application indépendante !!![BC++ BUILDER 5] Associer programme et extension de fichier
C++ Builder 6: C quoi cette erreur à la con?[C++ BUILDER]Utilisation de TImage [RESOLU]
Plus de sujets relatifs à : [C++ Builder] ListBox + OnChange event + WINAMP !!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR