DocPhiphi
Messages postés42Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 4 novembre 2008
-
5 juin 2005 à 21:50
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 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++.
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 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 :)
cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 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.
DocPhiphi
Messages postés42Date d'inscriptionmercredi 5 février 2003StatutMembreDerniè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.
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
DocPhiphi
Messages postés42Date d'inscriptionmercredi 5 février 2003StatutMembreDerniè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....
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 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...
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 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é ;)
cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 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.
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 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
DocPhiphi
Messages postés42Date d'inscriptionmercredi 5 février 2003StatutMembreDerniè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......
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 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 ;)