cs_Spunk62
Messages postés12Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention15 mai 2010
-
10 juin 2009 à 12:34
cs_Spunk62
Messages postés12Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention15 mai 2010
-
11 juin 2009 à 23:28
Bonjour,
je cherche a mettre une listview dans un tab control (par exemple si onglet 1 afficher listview sinon non)
ma listview (reçois un tableau ):
void listview (HWND hlistview,HWND hDlg)
{
DestroyWindow(hlistview);
//MessageBox(NULL,tab[2][11],"barre de titre",MB_OK| MB_ICONEXCLAMATION);
// Définir le titre de la boite de dialogue:
SetWindowText(hDlg,tab[1][0]);
//Créer les controles:
break;
case WM_NOTIFY:
NMHDR* pnmh;
pnmh = (NMHDR*)lParam;
// S'assurer qu'il s'agit d'un changement d'onglet:if(pnmh->hwndFrom hTabCtrl && pnmh->code TCN_SELCHANGE)
{
// Forcer le redessin du TabControl:
InvalidateRect(hTabCtrl,0,0);
// Obtenir l'index de l'onglet sélectionné:
int cursel=SendMessage(hTabCtrl,TCM_GETCURSEL,0,0);
// N'afficher que le Static correspondant à l'onglet sélectionné:
ShowWindow(hlistview,cursel==1);
// Analyse les sélections de menu*:
switch(wmId)
{
case ID_FICHIER_QUITTER:
EndDialog(hDlg,0);
break;
case ID_FICHIER_OUVRIR:
chargertableau (hDlg);
//permet de charger un tableau a partir d'un fichier
break;
case ID_OUTILS_TABLEAU:
listview (hlistview,hDlg);
//affiche la listview
break;
}
break;//break du switch
break;//break du WM_COMMAND
case WM_CLOSE:
//Fermer la boite de dialogue:
EndDialog(hDlg,0);
break;
}
return0;
}
Il faudrait pouvoir insérer la listview dans l'onglet 1 par exemple.
pour une fenêtre simple je déclare le HWND dans case WM_INITDIALOG puis
je fait un ShowWindow (HWND,cursel==1)(1 correspond l'onglet) dans case
WM_NOTIFY.