Question toute bête d'affichage d'éléments ^^

Signaler
Messages postés
109
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
15 mai 2007
-
Messages postés
109
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
15 mai 2007
-
Bonjour!!

J'ai une question surement fort simple pour beaucoup d'entre vous:

Lorsque j'ai une simple fenêtre avec par exemple un bouton, une image, et du texte généré avec textout();

Comment est-ce que en appuyant sur le bouton (par exemple), tout
s'efface et par qu'on puisse ensuite, redessiner un autre bouton, une
autre image ou qqch comme ca.

Enfait, ma question est comment intéragir directement avec ma fenêtre.
J'ai regardé dans bcp de source, sans trouvé qqch que je puisse adapté
à ce que je désire faire...

Merci d'avance à ceux/celles ^^ qui veulent bien m'aider en un tout petit exemple!!!

by_rabbit_08 >_>!

7 réponses

Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Bé dans ta procédure, sur le message WM_COMMAND :

switch(Msg)
{
case WM_COMMAND:
switch(wParam)
{
case ID_BOUTON:
//Code quand on appuie sur le bouton...
return 0;
}
return 0;
}

Après faut codé...


void Aurevoir( void ); //Bonne journée
Messages postés
109
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
15 mai 2007
1
Ah on se retrouve!! :D c cool ^^
Enfait, le truc c'est que j'arrive a faire des choses lorsque je clique sur un bouton, mais anciennes chose ne se renouvelle pas...
Pour prendre un exemple, n'importe quel installeur, y a tout le temps des suivant, suivant, suivant... etc... ben à chaque fois, y a tout qui se redéssine.
C'est ça que j'essaye de faire... Je sais pas si t'arrive m'aider... :)
>_>! merci
Messages postés
109
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
15 mai 2007
1
J'ai cru voir, mais je suis pas sur que c'est vraiment la bonne solution que pour enlever du texte et des images dans un hDC, y a un truc du style InvalidateRect();
Mais denouveau, comment enlever un bouton à ce moment la, ou un edit...
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Ah j'vois le genre
Bé moi je jouerais avec ShowWindow( ... )
Mais ca serait bordélique quand même lol
Il faudrait d'abord tout créer, cacher ce que tu veux pas, montrer les autres, si tu click sur suivant etc... fin c'est assez bordelique...

Ou bien tu crées une page contrôle avec des onglets, mais tu mets psa d'onglet lol et t'as juste a changer de page xD

Faut voir ce qu'en pense les autres ... :)
Vecchio on a besoin de toi, réveille toi pour une fois !


void Aurevoir( void ); //Bonne journée
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
InvalidateRect(...) redessine la zone de ton DC... en faite il fait faire un message WM_PAINT ( je pense... ) un bouton créer avec une boite de dialog ou avec CreateWindowEx( .. ) n'appartient pas à un DC... on peut pas l'effacer comme ça lol
Regarde dans TPE_SAT dans mes sources, ya une partie de code qui cache certain truc et qui montre d'autre, c'est bidon mais bon, c'est déjà ça :p


void Aurevoir( void ); //Bonne journée
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Ah bé j'ai tester un truc que j'devais tester y doit avoir 5 mois de ça lol xD
Quand tu fais un GroupBox, et que tu met une 20 aine de bouton dedans, ou bien un seul hein c'est comme tu le sens, donc tu créer des bouton dedans, mais il faut que le parent de tes bouton soit le groupeBox, il suffit alors de cacher le groupBox, et voila, tout y se cache :)


hGrpBox = CreateWindowEx (
0,
"BUTTON",
"ListBox", WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
10,
10,
300,
200,hWnd, NULL, hInst, NULL);


hListBox = CreateWindowEx(
0,
"LISTBOX",
"", WS_CHILD | WS_VISIBLE,
20,
20,
250,
160,hGrpBox, NULL, hInst, NULL);



case WM_COMMAND:



switch(wParam)


{



case IDC_BTNOK:


ShowWindow(hGrpBox,
0);



return
0;


}


void Aurevoir( void ); //Bonne journée
Messages postés
109
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
15 mai 2007
1
Ah ok! merci bcp alors! je vais tester tout ca ;)!!