Hello !!
j'ai un vrai probleme que je n'arrive pas a resoudre. j'ai deux treeview. J'arrive, lorsque je click sur un item de la premiere treeview a recuperer le lParam et le text. Mais lorsque je tente de faire la meme chose av la seconde, les valeur affichée sont incohérente...
Les item s'affiche bien dans ma seconde treeview ce qui me fait penser que l'insertion se passe correctement...
Voila mon code :
case WM_NOTIFY:
TV_ITEM tv_item;
TV_ITEM tv_itemvideo;
if(lpnmh->hwndFrom == treeViewFlux)
{
switch (lpnmh->code)
{
case NM_CLICK :
DWORD dwpos = GetMessagePos();
ht.pt.x = GET_X_LPARAM(dwpos);
ht.pt.y = GET_Y_LPARAM(dwpos);
MapWindowPoints(HWND_DESKTOP, lpnmh->hwndFrom, &ht.pt, 1);
TreeView_HitTest(lpnmh->hwndFrom, &ht);
tv_item.mask = TVIF_HANDLE | TVIF_STATE;
tv_item.hItem = ht.hItem;
tv_item.stateMask = TVIS_STATEIMAGEMASK;
TreeView_GetItem(treeViewFlux, &tv_item);
affichageListeVideos(tv_item.lParam - tv_item.lParam%100, treeViewVideo);
if(TVHT_ONITEMSTATEICON & ht.flags)
{
PostMessage(hwnd, UM_CHECKSTATECHANGE, 0, (LPARAM)ht.hItem);
}
break;
}
}
elseif(lpnmh->hwndFrom == treeViewVideo)
{
switch (lpnmh->code)
{
case NM_CLICK:
GetCurrentDirectory(500, currentPath);
SetCurrentDirectory("C:\\Documents and Settings\\imaj8504\\Desktop\\etherealplayer\\Debug\\etherealFiles");
DWORD dwpos = GetMessagePos();
htVideo.pt.x = GET_X_LPARAM(dwpos);
htVideo.pt.y = GET_Y_LPARAM(dwpos);
MapWindowPoints(HWND_DESKTOP, lpnmh->hwndFrom, &htVideo.pt, 1);
TreeView_HitTest(lpnmh->hwndFrom, &htVideo);
tv_itemvideo.mask = TVIF_HANDLE | TVIF_TEXT;
tv_itemvideo.hItem = htVideo.hItem;
tv_itemvideo.stateMask = TVIS_STATEIMAGEMASK;
TreeView_GetItem(treeViewVideo, &tv_itemvideo);
printf("treeviewvideo lparam = %d\n", tv_itemvideo.lParam);
SetCurrentDirectory(currentPath);
break;
}
}
je ne comprend vraiment pas pourquoi j'ai des valeurs inutilisable dans la seconde treeview... quelqu'un peut il m'aider ?? Je bloque la..
Merci d'avance !!