![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Client |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
function windowproc(wnd:hwnd; msg,wparam,lparam:LongInt):LongInt; stdcall;Вот простая оконная процедура, которая реагирует на выход. Зачем нужно Result:=0;и сразу после этого EXIT и после case Result:=DefWindowProc(wnd,msg,wparam,lparam)? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Суперклассинг. В примере на вингарде создавали едиты и они удалялись при нажатии на них. Тут модернизировали класс едита. А если уже есть эти же самые едиты и на них надо поставить обработчик на нажатие клавиши, то тут как быть? Использовать Сабклассинг: "контроль сообщений окон путем модификации оконной процедуры последних". Пишешь свою оконную функцию, которая обработает события WM_KEYUP/WM_KEYDOWN/WM_CHAR (обычно обработка нажатия клавиши сводится к WM_KEYDOWN), а все остальные события "пропустит" оригинальной оконной функции. И вызываешь свою функцию вместо оригинальной. Суперклассинг здесь не нужен. |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 10:51 |