Bonjour,
Pour rendre un contrôle listbox ou combobox invisible puis visible en cours d’exécution, j’ai utlisé la méthode suivante :
J’ai pris un HWND sur le contrôle par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
clectrbox=GetDlgItem(cledialogue, IDC_combo);
Puis j’ai fait tout simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ShowWindow(clectrbox, SW_HIDE);
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ShowWindow(clectrbox, SW_SHOW);
Selon le cas.
Ca marche très bien mon contrôle disparaît et réapparaît, mais je ne suis pas sûr que ce soit la méthode appropriée, car si je m’amuse par curiosité à tester l’état du contrôle par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
WINDOWPLACEMENT placement;
GetWindowPlacement(clectrbox, &placement);
La valeur “placement.showCmd” de la structure n’est jamais modifiée.

Etait-ce la bonne méthode pour rendre un contrôle invisible en cours d’exécution, ou faut-il procéder autrement ? Merci