Bonjour,
Je souhaite faire une liste de checkbox dynamique avec une scrollbar en C++ sans les MFC. Y a t il quelque part sur internet de la doc sur le sujet.
Je n ai trouvé que tres peu de documentation sur les interface graphique en C++ hors MFC.
Bonjour,
Je souhaite faire une liste de checkbox dynamique avec une scrollbar en C++ sans les MFC. Y a t il quelque part sur internet de la doc sur le sujet.
Je n ai trouvé que tres peu de documentation sur les interface graphique en C++ hors MFC.
http://c.developpez.com/faq/cpp/?pag...GENERALITE_gui
En gros il faut donc que tu commences par choisir une autre bibliothèque de GUI, puis aller poster sur le forum correspondant si tu as toujours le même problème.
(post croisé avec Laurent Gomila, je présume que tu parles de l'API Win32)
Il y a toute une doc sur les Common Controls hors MFC par ici:
http://msdn2.microsoft.com/en-us/library/ms649776.aspx
(voir l'arborescence à gauche).
Par contre, rien ne parle de CheckedListBox sans MFC ni .Net : Il n'y a rien en natif qui fait ça.
Généralement, il me semble que c'est basé sur une ListBox avec le style LBS_OWNERDRAWFIXED, et donc, la CheckBox est dessinée "artisanalement" dans la liste...
Je ne peux quasiment inclure aucune Framework, mon prog doit être tres petit (< 500ko) et le plus independant possible de la plateforme
Je debute dans le domaine c est fort probablement avec la seul API WIN32,
vu ce que j ai déja trouvé. Ca me parait clair qu'il n y a pas d objet de ce niveau.
Ce que j'ai decrit c est le rendu visuel.
J ai l intention de faire faire un panneau et d ajouter des elements dedans
et tous effacer et tous recreer à chaque mis à jour de la liste.
Merci pour le lien sur le MSDN
Merci
"Indépendant de la plateforme" et "API Win32" c'est pas vraiment compatible
Simple curiosité, pourquoi ton programme ne doit pas dépasser 500 Ko ? Je suppose que cette taille concerne aussi les éventuelles DLLs utilisées, pas seulement l'exécutable ?
Le plus independants possible de la version de windows utilisé.
En fait le programme est installé via le browser et doit demarrer quasi immediatement,
ne doit pas ecrire dans la base de registre,
doit passer des bandes passantes faible avec des protectections lourdes sur le reseau.
Doit travailler dans un environnement client tres heterogenes(une version MAC OS et linux est tres serieusement envisagé (mais la de mon point de vue c'est aller un peu trop vite en besogne). Les environnements cible de mon prog sont des windows (a partir de 2000 en general) mais sous Citrix ou novell ou d autre config du genre.
Voila
Comment connaitre l'etat d une checkbox créer dynamiquement ? (Via CreateWindow)
Lui envoyer un message BM_GETCHECK, par exemple.
Oui, mais avec CreateWindows mon element n a pas d'ID du coup je ne parviens pas a lui envoyer un message.
Sais tu comment lui assigner un ID ?
Tu lui passes casté en HMENU dans le paramètre approprié.
PS: Si tu as le HWND ou l'ID d'un contrôle, tu peux récupérer l'un à partir de l'autre.
Merci beaucoup
Avec getDlgCtrlID ça m a donnée une idée.
J ai mis mes HWND dans un Vector et je parse la liste pour savoir si l objet a l origine de l evenement et avec getDlgCtrlID je peux verifier son etat.
Mea Culpa
J avais pas lu en detail ce qu'etait HMENU dans le MSDN j ai cru que c etait pour les Menu type JMenu (en java).
Mais aprés reflexion il vaut mieux que je laisse le systeme gerer l'ID.
Avec ça c est presque resolu
Windows n'assigne pas d'ID automatiquement.
Si tu laisses NULL pour tous tes contrôles, ils auront tous l'ID zéro...
oui je viens de me rendre compte
J ai crée les miens
j ai pris mon compteur de boucle
0,1,2 ....
ça peut créer des conflits ?
Pour les ids bas, oui : il y a IDOK, IDCANCEL dans le coin...
Comme c'est etrange je m'en doutais.
Si je veux créer un ID unique pour un HWND comment faut t il que je m y prenne. Y a t il plage reservée ?
OU dois je faire autrement ?
Par défaut, l'éditeur de boîtes de dialogue part de 1000.
Si tu n'utilises pas l'éditeur de boîtes de dialogue pour ta fenêtre, tu peux partir de là aussi, sinon tu peux partir d'ailleurs. Généralement, je commence mes contrôles perso à 2000...
Ok merci beaucoup,
Adjugé vendu pour 2000![]()
Comment faire pour supprimer (retirer) un element (ici une de mes checkbox) de son HWND parent ?
Dans le MSDN j ai trouvé un RemoveMenu mais a priori c est pas ça.![]()
Sur la FAQ de developpez.com j ai rien trouve qui allait dans ce sens.
J ai bien trouve comment la destactie ou lui envoyé des messages mais rien pour la retirer (avec DeleteXXX ou RemoveXXX).
Avec PostMessage ou SendMessage en envoyant WM_DESTROY ou WM_DELETEITEM ?
Si quelqu'un a une idée sur le sujet ?
DestroyWindow(), comme pour tous les contrôles.
ok merci encore, j ai appris plein de chose grace à vous et à mes recherches. Tous cela pour conclure que
J ai choisi d abandonner le fait de faire une list de checkbox, je vais me contenter d une List Box Control la plus basique possible pour le moment
En attendant de devenir un big boss C++![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager