Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Редактируемый ListCtrl. Продолжение


Автор: kometa_triatlon 18.12.2005, 17:24
Попал тут в интересную ситуацию:
есть программа, которая работает с неким подобием бд. И вот эта прога выводит эту бд в лист. Так вот, когда реализовывал редактирование записей, решил сделать свой редактируемый лист. И вот теперь не знаю, как дать знать моему классу представления, что изменилась такая-то ячейка в листе, чтобы он вызвал нужный метод класса быза данных и изменил уже базу. А то изменение получается чисто визуальное, а мне нужно сразу соответственно править и файл.
Может после завершения редактирования послать какое-то специфическое сообщение?

Автор: kometa_triatlon 19.12.2005, 02:17
Все разобрался...
Кстати, по ходу дела возник вопрос: я отсылал сообщение из листа, потом переопределил PreTranslateMessage в классе представления. Вот только если я отсылал из через SendMessage или SendNotifyMessage реакции было ноль, когда использовал PostMessage, заработало smile

Автор: takedo 19.12.2005, 13:32
Это могло происходить по слудющим(на мой взгляз) причинам: вызывая SendMessage ты ещё не обновил данные, с которыми работал обработчик сообщений. SendNotifyMessage - её приоритет более высокий, чем SendMessage, поэтому она могла выполниться также сразу после вызова и работала с неизмененными данными. Когда же ты вызывал PostMessage твое сообщение просто вставало в очередь заведомо сзади от обработчика изменения твоего листа, поэтому сие сообщение выполнялось после изменеия данных...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)