Показать сообщение отдельно
  #4  
Старый 01.11.2014, 07:27
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Тогда инхирайт здесь не нужен. Блок обработки сообщений у "чисто" апишной формы (по drkb) должен выглядеть примерно так
Код:
function WindowProc(hWnd,Msg,wParam,lParam: Longint): Longint; stdcall; export;
begin
//подпрограмма обработки сообщений
case Msg of
   WM_DESTROY: begin
     PostQuitMessage(0);
     Exit;
   end;

//тут еще сообщения которые отлавливаются
//...
//...

   else
      Result := DefWindowProc(hWnd,Msg,wParam,lParam);
end;
end;
нужна инициализация этой функции при регистрации класса формы
Код:
...
var
wcx: TWndClass;

...

// адрес оконной процедуры
   wcx.lpfnWndProc := @WindowProc;
...
а в основном теле проги ставится такой блок

Код:
...
var
AMessage: msg;

...

   while (GetMessage(AMessage, 0, 0, 0)) do
   begin
     //Запускаем цикл обработки сообщений
     TranslateMessage(AMessage);
     DispatchMessage(AMessage);
   end;
...
Ответить с цитированием