День добрый! Может кто сталкивался, никак не могу разобраться. Есть заполненный элемент List View (из библиотеки commctrl.h), нужно чтобы по щелчку мыши на его элементе открывалось диалоговое окно и в нем активировалась закладка Tab Control с именем элемента по которому щелкнули (в заголовке).., делал это так, в оконной процедуре окна (кот. содержит List View) пишу код :
| Код | case WM_NOTIFY: { NMHDR *nmhdr=(NMHDR*)lParam; switch(nmhdr->code) //Обработка сообщений от List View (контакт-листа) { case NM_DBLCLK: { //Инициализирую данные для формирования закладки Tab Control============== int indexList=ListView_GetNextItem(hwndList,-1, LVNI_SELECTED); if(indexList == -1) return (INT_PTR)TRUE; LV_ITEM infoItemList; memset(&infoItemList, 0, sizeof(infoItemList)); //Обнуляю на всякий случай всю структуру infoItemList.iItem = indexList; infoItemList.mask = LVIF_TEXT; infoItemList.cchTextMax = 40; infoItemList.iSubItem = 0; ListView_GetItem(hwndList, &infoItemList); //Определяю какой элемент List View выделен TCITEM itemTab; itemTab.pszText=infoItemList.pszText; //=========================================================================== if(!hWndChat){ //Если окон чата не было создано ранее hWndChat=CreateDialog(hInst,MAKEINTRESOURCE(IDD_CHAT), hWndMain, WndChatProc); if (!hWndChat) return (INT_PTR)TRUE; HWND hWndTab=GetDlgItem(hWndChat, IDC_TAB1); //Определяю хендл окна Таb TabCtrl_InsertItem(hWndTab, 0, &itemTab); //Создаю закладку Tab-a } else{ //Если окно чата уже было создано ранее HWND hWndTab=GetDlgItem(hWndChat, IDC_TAB1); //Определяю хендл окна Таb int indexCurrentTab=TabCtrl_GetCurSel(hWndTab); //Определяю текущий выбор Tab TabCtrl_InsertItem(hWndTab, indexCurrentTab+1, &itemTab); //Создаю новую вкладку Tab } break; } } break; } |
закладка Tab Control создается но в заголовок не считывается текст по которому щелкнули в List View.. что я делаю не так? |