Aide sur les boites de dialogues pour un NewBee

DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008 - 5 juin 2005 à 21:50
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 - 10 juin 2005 à 20:12
Au Secours.
Je suis un adepte de Visual Basic depuis ses origines. Hors pour mon boulot je doit reprendre et mettre en forme un prog en Visual C++ 6.
Mais,rogntudju, comment fais t'on pour modifier SIMPLEMENT les propriétés d'un contrôle.
Sous VB, c'est simple (exemple pour un bouton):
MonBouton.visible=False ou MonBouton.Enabled=False etc....

Ca fait deux jours que je cherche l'équivalent en Visual C++ sans succés, d'autant plus que l'aide est franchement nulle en ce qui concerne Visual C++.

Merci d'avance.

docphiphi

15 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
5 juin 2005 à 22:23
Et bien c'est bien là, où est la merveillosité du C++ :)
On ne modifie pas avec un simple . ou une simple -> ( builder )
Sauf si tu as créer préalablement ta propre classe... mais bon t'es pas encore là lol

Donc en faite, il existe une panoplie de fonction pour modifier les controles, il y a ensuite le simple fait d'envoyer un message à un contrôle pour lui affecter des propriétés...

Si tu veux de l'aide faut dire précicésemment ce que tu veux faire parce que c'est très vaste...

Genre changer la police : SendMessage(hButton, WM_SETFONT, (WPARAM)hFont, 1);

Et changer le texte d'une bouton : SetWindowText(hButton, "Nouveau Texte");
Bref, des détails :)


void Aurevoir( void ); //Bonne journée
0
cs_Stubbornman Messages postés 80 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 12 janvier 2007
6 juin 2005 à 10:41
Puisque tu as l'air de t'y connaitre pas mal Joky, j'ai moi aussi un soucis avec les boites de dialogues, et plus particulierement avec les images que j'insere dessus.

Avant tout, je precise que je travaille sous VC++ 6 et que je cree mes boites de dialogue a l'aide d'une resource.

Dans mon cas, j'ai insere lors de le creation de la dialogue box un certain nombre d'image, et j'aimerais pouvoir les afficher a ma convenance. Par exemple:
pous noter un element (un livre par exemple), plutot que de mettre betement 10/10, j'aimerais afficher un certain nombre d'etoiles (c'est assez courant dans les logiciels). Donc pour ce faire, j'ai cree deux images: une etoile pleine, et une vide. Je les ai inserees l'une sur l'autre dans mon dialogue box et je voudrais afficher soit l'une soit l'autre en fonction du besoin.
Comme DocPhiphi, j'ai parcouru l'aide de long en large a la recherche de la fonction magique, mais j'ai rien trouve. Alors si tu sais comment faire, ton aide sera la bien venue.

Merci d'avance.
0
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
6 juin 2005 à 20:56
Merci de ta réponse rapide Joky.

Mon soucis est de trouver comment par prog rendre un contrôle (bouton, label ou autre) visible ou invisible, activé ou non, bref accéder aux propriétés de ce contrôle pour les modifier en fonction de variables.

Merci d'avance.

docphiphi
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 juin 2005 à 21:13
Donc pour l'histoire du bouton, pour le rendre invisible on fait simplement un :
ShowWindow(hButton, 0) où hButton est le handle du bouton
et pour le faire réapparaitre, c'est encore la même fonction mais avec un 1 à la place du 0
ShowWindow(hButton, 1)

Pour l'histoire de l'actif et de l'inactif, on se sert de
EnableWindow( hButton, BOOL ) si le booléan vaut TRUE, on active le bouton, sinon on le désactive...
Donc voilà l'histoire des boutons.

L'histoire des étoiles...
Je présume que chaque controle ( BITMAP ) chargés en ressource, à un ID, donc si tu fais le ShowWindow(GetDlgItem(hWnd, ID_BITMAP), 0) où hWnd est le handle de la fenêtre parent et ID_BITMAP l'id du bitmap concerné.
De même qu'au dessus, pour réafficher, changer le 0 en 1 ;)

Voila j'espere que ma culture vous auras avancer dans votre quête du concret et de l'existencielle.
Désolé j'révise la filo en même temps lol ;)

Bonne soirée

void Aurevoir( void ); //Bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
6 juin 2005 à 21:25
Tiens ! J'en ai un qui fait la même chose à la maison (la Philo!!). lol.
Bon, Excuse moi de te déranger encore, mais chez moi, quand je tape ShowWindow(hButton, 0) , je me fasi engueuler à la compilation : function doesnt take 2 parametres !! Même chose poue EnableWindow....

Y doit me manquer quelque chose............

Encore merci.

docphiphi
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 juin 2005 à 21:28
Euh non non j'tassure ya 2 paramètres, au pire pour vérifier tu tapes la fonction et il va te dire les paramètres qu'il faut, puisque tu bosses sous Visual...


void Aurevoir( void ); //Bonne journée
0
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
6 juin 2005 à 21:35
Ben justement en intellisens, il me dit BOOL ShowWindow(int nCmdShow)..........snif

j'suis sous Visual C++ 6....

docphiphi
0
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
6 juin 2005 à 21:36
PS
J'ai créé un prog de test avec VC++ en utilisant nouveau ->projet->MFC AppWizard(exe)..........

docphiphi
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 juin 2005 à 21:46
Euh j'pense pas ca a un rapport avec MFC...
Quoi que, si c'est possible...
Mais bon dans la version Win32 j'tassure yen a deux lol, vérifie sur msdn
Et niveau MFC, jsuis une quiche jpeux pas trop t'aidé lol
Disoulé ;)


void Aurevoir( void ); //Bonne journée
0
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
6 juin 2005 à 21:49
Bon, tant pis, Merci quand même et m...e pour le bac.
J'vas continuer mes recherches......

docphiphi
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 juin 2005 à 21:53
Tiens quand j'y pense lol

T'as pas essayé Bouton.Show( FALSE )
ou bien Bouton.ShowWindow( FALSE )

Ptete c'est ça lol.
Et merci pour le merde du bac que tu as censuré lol ;)


void Aurevoir( void ); //Bonne journée
0
cs_Stubbornman Messages postés 80 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 12 janvier 2007
6 juin 2005 à 22:12
Je te remercie bcp pour ton aide Joky. Dans mon cas j'ai essaye de contourner le probleme, en faisant notament des LoadBitmap et SendMessage pour chaque image, mais j'ai du mal a m'yfaire, donc si j'y arrive pas, j'utiliserais ta methode. En tout cas, merci bcp.
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 juin 2005 à 22:18
Ah bé moi j'te conseil les LoadBitmap, c'est beaucoup plus claire et plus glorieux comme méthodes lol...
Avant j'utilisé C++ Builder, et j'observe quand même le changement avec Visual C++
Donc utilisons les fonctions qui sont la pour ça :p


void Aurevoir( void ); //Bonne journée
0
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
10 juin 2005 à 19:25
Salut Joky !
Alors, cette philo

J'ai résolu mon problème. Je traite mes infos en C++(c'est de l'acquisition en temps réel ->besoin de vitesse) avec une DLL et j'ai fait l'interface en VB......et là je retrouve mes petites habitudes......

Merci encore de ton aide.

docphiphi
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
10 juin 2005 à 20:12
Héhé cette philo, j'pense que j'vais doubler ma moyenne de l'année
J'vais ptete avoir 7 ce qui est magnifique pour un élève comme moi qui à dû suivre 2 heures de philo dans l'année lol
Et oui, on sait s'amusé nous, Puissance 4, bataille navale avec mon fidèle ami qui est à l'autre bout de la classe lol ;)

Fin bref tout ça pour rien ;)
Tu n'as pas de question donc je réponds pas lol ;)


void Aurevoir( void ); //Bonne journée
0
Rejoignez-nous