почему функция OnLvnItemchangedList1 вызывается дважды, когда я нажал на элемент управления списком - PullRequest
0 голосов
/ 10 ноября 2010

Я создал элемент управления списком, и когда я щелкаю по списку, он дважды переходит к OnLvnItemchangedList1. Может кто-нибудь сказать мне причину и как этого избежать.

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Он вызывается как при отмене выбора, так и при выборе, поэтому, когда вы щелкаете по элементу, он отменяет выбор предыдущего элемента и выбирает текущий элемент, вызывая его дважды.

Чтобы проверить, выбирает или снимает отметку, проверьте мой ответ на этот вопрос .

0 голосов
/ 10 ноября 2010

Я не уверен, почему это происходит, хотя в некоторых элементах управления MFC есть некоторые проблемы. Обходной путь может заключаться в определении глобального bool, изначально ложного, и если функция вызывается, вы устанавливаете его в true. Перед тем, как установить глобальное значение в true, вы можете проверить его значение, а если его true, установить в false и вернуть функцию. Обычно это происходит для изменения функций, связанных с элементами управления.

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