Afficher ou cacher un controle ? [VC++] - C++ - Programmation
Marsh Posté le 18-12-2002 à 13:32:39
freds45 a écrit : Voila, j'ai un ptit pb avec VC++... |
essaye avec un ShowWindow
Marsh Posté le 18-12-2002 à 13:41:39
hellbilly a écrit : |
ShowWindow |
extrait de la msdn... c'est pas pour les controles
Marsh Posté le 18-12-2002 à 13:45:29
j'y pige quedalle...
dans la msdn ya marque que ShowWindow prend deux parametres, et a la compil il dit qu'il faut seulement un...
--------------------Configuration: tableau - Win32 Debug-------------------- |
Marsh Posté le 18-12-2002 à 13:45:49
freds45 a écrit :
|
Les controles sont justes des fenetres particulieres.
Recupere le handle de ton controle et ca devrait marcher.
Marsh Posté le 18-12-2002 à 13:48:48
freds45 a écrit : dans la msdn ya marque que ShowWindow prend deux parametres, et a la compil il dit qu'il faut seulement un... |
si tu fais f12 sur ton ShowWindow(), tu vas atterir dans le code MFC. il surcharge toutes les fonctions win32 pour ta fenêtre principale : ShowWindow existe en méthode globale (celle de la msdn, deux paramètres) et dans ta classe (à un niveau supérieur, ne prend que le dernier paramètre car le handle est connu).
tu utilise l'opérateur :: d'accès global :
::ShowWindow(hWndDeTonControle, SW_HIDE)
Marsh Posté le 18-12-2002 à 13:50:36
youdontcare a écrit : si tu fais f12 sur ton ShowWindow(), tu vas atterir dans le code MFC. il surcharge toutes les fonctions win32 pour ta fenêtre principale : ShowWindow existe en méthode globale (celle de la msdn, deux paramètres) et dans ta classe (à un niveau supérieur, ne prend que le dernier paramètre car le handle est connu). |
ca correspond a quoi le hWnd pour le controle ?
IDC_EDIT1 ca peut etre bon?
sinon ca se definit ou ?
merci bcp !
Marsh Posté le 18-12-2002 à 13:57:06
freds45 a écrit : IDC_EDIT1 ca peut etre bon? |
si tu as donné ce nom-là à ton edit dans l'éditeur, tu passes par
* GetDlgItem(IDC_EDIT1)
ou
* le classwizard (ctrl+w) où tu pourras créer une variable de contrôle de ton objet. je te laisse regarder l'aide. ça te permet de faire monEdit.SetVisible(false) par exemple.
Marsh Posté le 18-12-2002 à 14:05:52
youdontcare a écrit : si tu as donné ce nom-là à ton edit dans l'éditeur, tu passes par |
j'ai trouve ca juste avant que tu postes. merci bcp
edit: j'ai cru que ca se faisait tout seul...
Marsh Posté le 18-12-2002 à 14:15:35
Cai bon
En fait il faut passer par le classwizard pour ajouter une variable qui correspond au controle
CEdit m_editbox; |
puis dans la fonction, faire
::ShowWindow(m_editbox, SW_SHOW); |
enfin la msdn la dessus....
Marsh Posté le 18-12-2002 à 14:25:26
freds45 a écrit :
|
ce genre de truc marche car il y a une fonction de cast CWnd vers HWND. le mieux est d'utiliser la méthode de la classe :
m_editbox.ShowWindow(SW_SHOW);
(pour setVisible, je confondais avec autre chose)
Marsh Posté le 18-12-2002 à 14:27:22
freds45 a écrit : |
le msdn t'as juste sorti ce que tu lui a demande ie une fonction de l'api win32
pour les mfc :
Citation : |
Marsh Posté le 18-12-2002 à 14:36:02
hellbilly a écrit : |
je sais bien, mais ya plein de trucs qui ne sont expliques nulle part, genre qu'il faut definir une variable pour le controle en question par exemple ... enfin j'ai bien avance
Marsh Posté le 18-12-2002 à 14:47:13
freds45 a écrit : |
faut pas que ce soit trop facile sinon y a pas d'interet
et puis je m'en fous j'ai jamais utilisé les mfc (et je le ferai jamais)
Marsh Posté le 18-12-2002 à 14:49:35
hellbilly a écrit : |
moi je fais c'est que je suis oblige
l'an dernier j'ai fait une petite appli avec QT sous linux... cai 10x plus pratique je trouve
Marsh Posté le 18-12-2002 à 13:29:41
Voila, j'ai un ptit pb avec VC++...
j'ai un document, qui contient differents controles, et j'aimerais soit afficher, soit cacher un controle particulier (une boite d'edition). En VB je savais faire , mais avec VC++...
Ya pas qqun qui peut me donner un ptit coup de main ?
---------------
Filmstory : gardez trace des films que vous avez vu ! :D