C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
ProcessMessage, ProcessMessage
Virus
  Отправлено: 29.01.2007, 21:32


Ученик-кочегар

Группа: Участник
Сообщений: 17



Есть ли аналоги ProcessMessage (C++ Builder), DoEvents (VB) только API функцией?
Romikgy
Отправлено: 01.02.2007, 21:33


Дежурный стрелочник

Группа: Участник
Сообщений: 72



CODE

function TApplication.ProcessMessage(var Msg: TMsg): Boolean;
var
 Handled: Boolean;
begin
 Result := False;
 if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
 begin
   Result := True;
   if Msg.Message <> WM_QUIT then
   begin
     Handled := False;
     if Assigned(FOnMessage) then FOnMessage(Msg, Handled);
     if not IsHintMsg(Msg) and not Handled and not IsMDIMsg(Msg) and
       not IsKeyMsg(Msg) and not IsDlgMsg(Msg) then
     begin
       TranslateMessage(Msg);
       DispatchMessage(Msg);
     end;
   end
   else
     FTerminate := True;
 end;
end;

procedure TApplication.ProcessMessages;
var
 Msg: TMsg;
begin
 while ProcessMessage(Msg) do {loop};
end;

вот код , имхо если вынесешь основной цикл обработки сообщений, в ф_цию, то сможешь также передавать управление этой ф_ции
Virus
Отправлено: 09.02.2007, 18:07


Ученик-кочегар

Группа: Участник
Сообщений: 17



Спасибо. Совершенно забыл, что задавал вопрос.

Вернуться в Вопросы программирования в C++Builder