уведомления списка - PullRequest
       2

уведомления списка

5 голосов
/ 13 марта 2012

У меня есть диалоговое окно с двумя элементами управления: древовидное представление и список . У меня также есть обработчик сообщений для моего диалогового окна.

 case WM_NOTIFY:
        {  
          switch(LOWORD(wParam)) 
            {
                case IDC_LIST1: //we NEVER comes here
                      if(((LPNMHDR)lParam)->code == NM_CLICK)
                      {
                          //do some work; 
                          return (INT_PTR)TRUE; 
                      }
                      break; 
                case IDC_TREE1: 
                      if(((LPNMHDR)lParam)->code == NM_DBLCLK)
                      {
                         //do some work;
                         return (INT_PTR)TRUE;  
                      }
                      break;
            }
        }
        break;

Итак, я не могу понять, почему уведомления из поля дерева приходят успешно, но уведомления из списка никогда не приходят, несмотря на то, что в свойствах окна списка 'control Notify установлено значение ИСТИНА . Спасибо.

1 Ответ

11 голосов
/ 13 марта 2012

Давайте проверим документацию.

Стили списка :

LBS_NOTIFY

Заставляет поле списка отправлять код уведомленияродительское окно всякий раз, когда пользователь щелкает элемент списка ( LBN_SELCHANGE ), дважды щелкает элемент ( LBN_DBLCLK ) или отменяетвыбор ( LBN_SELCANCEL ).

LBN_SELCHANGE :

Уведомляет приложение, что выбор в окне списка изменился в результате ввода пользователя. Родительское окно списка получает этот код уведомления через сообщение WM_COMMAND.

LBN_DBLCLK :

Уведомляетприложение, которое пользователь дважды щелкнул элемент в списке. Родительское окно списка получает этот код уведомления через сообщение WM_COMMAND.

LBN_SELCANCEL :

УведомляетПриложение, которое пользователь отменил выбор в списке. Родительское окно списка получает этот код уведомления через сообщение WM_COMMAND.

Вывод: в списках используются WM_COMMAND для уведомления родителя, а не WM_NOTIFY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...