1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Вопрос по сообщениям окна!

Тема в разделе "С и С++", создана пользователем akahan, 11 фев 2007.

Статус темы:
Закрыта.
  1. akahan

    akahan Гость

    Репутация:
    0
    Вопрос по сообщениям окна!Привет всем!
    Такой вопрос:
    Я суперклассирую EDIT. Мне нужно из WndProc моего контрола отследить когда длина текста в MYEDITе равна 0.
    Допустим, я могу это отследить из родительского окна с помощью EN_UPDATE или EN_CHANGE, но как мне это сделать из WndProc моего контрола?
    Я думаю можно отслеживать с помощью отлова WM_KEYDOWN, но, ведь, текст можно вставить из clipboard, тогда еще нужно отслеживать WM_PASTE и тд. Должно же быть более оригинальное решение!
    С помощью каких сообщений окна это можно отследить?
    Посоветуйте, ГУРУ!!! :D
     
  2. zubr

    zubr Гость

    Репутация:
    0
    Можно в классе своего контрола создать статическую процедуру обработки сообщений родительского окна типа static LRESULT CALLBACK ParentWindowProc и с помощью GetWindowLong, SetWindowLong сабклассировать его.
     
  3. akahan

    akahan Гость

    Репутация:
    0
    Спасибо за совет, но так не получится! Подумайте сами, таких котролов может быть несколько, и у них могут быть разные родители, а процедура одна. Так не выйдет!
    Нужно каким то образом отследить изменения контрола, а как не понятно!
     
  4. zubr

    zubr Гость

    Репутация:
    0
    Можно воспользоваться макросами ON_NOTIFY_REFLECT или ON_NOTIFY_REFLECT_EX - они отражают сообщения родительского окна на дочернее.
     
  5. akahan

    akahan Гость

    Репутация:
    0
    Вся фишка в том, что я не использую ни ATL ни MFC. Я пишу в С++ и использую чистый Win API.
    Мне, кстати, в другом форуме посоветовали решение этой проблемы. Создается два контрола, один невидимый, который принадлежит диалогу, а мой контрол принадлежит этому невидимому контролу. Невидимый контрол слушает нотифи EN_CHANGE от моего контрола и перенаправляет их и обратно, и далее. Вот и все! Думаю тему мона закрыть!
     
Загрузка...
Похожие Темы - Вопрос по сообщениям
  1. erlan1749
    Ответов:
    2
    Просмотров:
    82
  2. Unkown_
    Ответов:
    14
    Просмотров:
    184
  3. thunder
    Ответов:
    3
    Просмотров:
    456
  4. MrNik
    Ответов:
    6
    Просмотров:
    204
  5. Hehabr
    Ответов:
    0
    Просмотров:
    198
Статус темы:
Закрыта.

Поделиться этой страницей