Boite de dialogue avec champs variables

Boite de dialogue avec champs variables - C++ - Programmation

Marsh Posté le 11-07-2005 à 09:43:47    

Bonjour,
 
Je souhaite creer une boite de dialogue avec VC++. Mon probleme est le suivant:
les champs changent suivant qu'ils aient ete initialisés ou non dans un fichier .ini
La boite peut donc etre tres differente d'une fois sur l'autre.
De plus, je souhaiterais egalement que la boite soit modulable suivant les choix qui sont fait au sein meme de la boite.
 
QQ'un a des idées svp!
 
Je sens que j'ai pas ete tres clair.. :)
 
Merci
 
Paris2012, DialogBox beginner
 

Reply

Marsh Posté le 11-07-2005 à 09:43:47   

Reply

Marsh Posté le 11-07-2005 à 15:44:29    

Tu les crée à la main!
 
C'est pas vraiment sorcier, faut juste redimensionner le dialogue après.
N'oublie pas de conserver les pointeurs sur les contrôles que tu crée et de les détruire à la destruction du dialogue ou dans son destructeur. L'idéal c'est de mettre tout ça dans un vector ou un CArray (MFC) ça revient au même.

Reply

Marsh Posté le 11-07-2005 à 16:50:34    

Merci! je devrais m'en sortir maintenant.
 
Derniere petite question! Comment faire un click droit sur une icone de ma boite? Pas de probleme pour le BN_CLICKED, mais le droit je sais pas :(  
 
Paris2012, Forever

Reply

Marsh Posté le 11-07-2005 à 18:50:27    

BN_CLICKED c'est uniquement pour les boutons (en tout cas autant que je le sache)
 
Si tu veux gérer la souris (surtout pour quelque chose de différent d'un bouton) faut gérer WM_RBUTTONDOWN ou WM_RBUTTONUP. Donc tu captures la position de l'icone puis dans le OnRButtonDown tu teste la position du curseur, s'il est dans ton icône tu fais ce que tu veux faire sur le clic droit sinon tu fais rien. Quelque soit la solution tu n'oublies pas d'appeler

CDialog::OnRButtonDown


Désolé pour le cadre blanc, il me fout un smilie sinon...
Voilà tu devrais y arriver maintenant ;)


Message édité par slash33 le 11-07-2005 à 18:52:25
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed