Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2012, 14:01   #1
Saumavalion
 
Регистрация: 30.11.2010
Сообщений: 7
Злость Проблема с ListView

Здраствуйте. У меня образовалась проблема с ListView. При добавление сообщения WM_NOTIFY в код программы, даже если там ничего не написано. перестают выделяться строки в ListView. Помогите пожалуйста.

Создание ListView:
Код:
LlstView = CreateWindowEx(0,WC_LISTVIEW,0,WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SINGLESEL | WS_BORDER,
	5,55,(int)(Width/2-18),Height-150,hWnd,(HMENU)LLSTVIEW,hInst,NULL);
Добавление столбца в ListView:
Код:
for(int index = 0; index < 5; index++)
	{
		lvcol.iSubItem = index;
		lvcol.cx = (int)(Width/2-18)/5;
		lvcol.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH  | LVCF_FMT;
		lvcol.fmt  = LVCFMT_LEFT;
		lvcol.pszText = namecolumn[index];
		ListView_InsertColumn(RlstView,index,&lvcol);
		ListView_InsertColumn(LlstView,index,&lvcol);
	}
Добавление Строки:
Код:
void PrintViewList(HWND lst,int row, int col, char *p)
{
	LVITEM lvit;
	lvit.mask = LVIF_TEXT|LVIF_IMAGE;
	lvit.iItem = row;
	lvit.iSubItem = col;
	lvit.pszText = p;
	if(col == 0)
		ListView_InsertItem(lst,&lvit);
	else
		ListView_SetItem(lst,&lvit);
}
Saumavalion вне форума Ответить с цитированием
Старый 06.05.2012, 15:24   #2
volvo877
Форумчанин
 
Аватар для volvo877
 
Регистрация: 01.06.2009
Сообщений: 108
По умолчанию

Можно поточнее? Что именно имеется в виду под
Цитата:
перестают выделяться строки в ListView
? И как именно ты добавляешь WM_NOTIFY? Лучше привести минимальный пример, иллюстрирующий проблему, чтоб можно было откомпилировать, запустить и посмотреть. Добавил у себя WM_NOTIFY в код - как выделялся первый айтем, так и выделяется (вся строка выделяться и не будет, LVS_EX_FULLROWSELECT не установлен)
volvo877 вне форума Ответить с цитированием
Старый 06.05.2012, 15:40   #3
Saumavalion
 
Регистрация: 30.11.2010
Сообщений: 7
По умолчанию

volvo877, конечно.

Код:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     switch(message)
     {
     case WM_CREATE:
     //здесь создаются нужные элементы
     ..
     //создание ListView
     LlstView = CreateWindowEx(0,WC_LISTVIEW,0,WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SINGLESEL | WS_BORDER,5,55,
(int)(Width/2-18),Height-150,hWnd,(HMENU)LLSTVIEW,hInst,NULL);
     ListView_SetExtendedListViewStyle(LlstView,LVS_EX_FULLROWSELECT);
		
     RlstView = CreateWindowEx(0,WC_LISTVIEW,0,WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SINGLESEL | WS_BORDER,
(int)Width/2+5,55,(int)(Width/2-18),Height-150,hWnd,(HMENU)RLSTVIEW,hInst,NULL);
     ListView_SetExtendedListViewStyle(RlstView,LVS_EX_FULLROWSELECT);
     lvcol.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
     lvcol.fmt = LVCFMT_LEFT;
     for(int index = 0; index < 5; index++)
    {
	lvcol.iSubItem = index;
	lvcol.cx = (int)(Width/2-18)/5;
	lvcol.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH  | LVCF_FMT;
	lvcol.fmt  = LVCFMT_LEFT;
	lvcol.pszText = namecolumn[index];
	ListView_InsertColumn(RlstView,index,&lvcol);
	ListView_InsertColumn(LlstView,index,&lvcol);
    }
    break;
    case WM_SIZE:
    //при изменении размеров окна
            MoveWindow(LlstView,5,55,(int)(Width/2-18),Height-150,TRUE);
	    MoveWindow(RlstView,(int)Width/2,55,(int)(Width/2-18),Height-150,TRUE);
	    break;
    case WM_NOYIFY:
    //при добавлении события начинаются проблемы
            break;
}
Вот весь код программы:
Вложения
Тип файла: txt kursproj.txt (15.0 Кб, 148 просмотров)
Saumavalion вне форума Ответить с цитированием
Старый 06.05.2012, 16:00   #4
volvo877
Форумчанин
 
Аватар для volvo877
 
Регистрация: 01.06.2009
Сообщений: 108
По умолчанию

Код:
case WM_NOTIFY:
   // bla-bla-bla
   return 0;
, строки прекрасно выделяются.
volvo877 вне форума Ответить с цитированием
Старый 06.05.2012, 16:02   #5
Saumavalion
 
Регистрация: 30.11.2010
Сообщений: 7
По умолчанию

volvo877 ОГРОМНОЕ СПАСИБО!!!
А я, полный идиот((
Saumavalion вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с загрузкой информации в ListView из ini aspir33 Помощь студентам 1 30.01.2012 13:56
[Проблема]Свой ProcessList через ListView Человек_Борща Общие вопросы Delphi 2 21.03.2010 11:00
Небольшая проблема с ListView mixer94 Компоненты Delphi 5 12.08.2009 09:08
проблема с listbox и listview. blackstersl Общие вопросы Delphi 3 06.05.2009 23:31
Проблема с ListView mar4elo Общие вопросы Delphi 5 04.12.2008 14:48