Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

MsgWaitForMultipleObjects   Найти похожие ветки 

 
Unknown Mystic ©   (2004-08-02 12:34) [0]

Подскажите, пожалуйста, как заставить программу перерисовываться, при использовании

Result := MsgWaitForMultipleObjects(1, hProcess, false, INFINITE, QS_PAINT);

Я так понимаю, что вызов MsgWaitForMultipleObjects надо поместить в цикл и в зависимости от возвращаемого значения либо выходить из него (Result = WAIT_ABANDONED_0) , либо... А что собственно делать, когда Result = WAIT_OBJECT_0 ?

Если можно, напишите этот цикл. Спасибо.


 
Polevi ©   (2004-08-02 12:35) [1]

Result = WAIT_OBJECT_0 означает что засигналил hProcess, то есть процесс завершился


 
Unknown Mystic ©   (2004-08-02 12:41) [2]

Да? Значит я не так понял... А что делать когда происходит QS_PAINT?


 
Игорь Шевченко ©   (2004-08-02 12:42) [3]


> А что делать когда происходит QS_PAINT?


PeekMessage + DispatchMessage


 
Unknown Mystic ©   (2004-08-02 12:49) [4]

Спасибо. Попробую. Кстати какое значение будет у Result, при возникновении QS_PAINT?


 
Игорь Шевченко ©   (2004-08-02 13:18) [5]


> Кстати какое значение будет у Result, при возникновении
> QS_PAINT?

WAIT_OBJECT_0 + 1 в данном случае


 
Unknown Mystic ©   (2004-08-02 13:24) [6]

Т.е.
WAIT_OBJECT_0     - завершение процесса (hProcess)
WAIT_OBJECT_0 + 1 - QS_PAINT
так? А что тогда такое WAIT_ABANDONED_0 ?


 
Digitman ©   (2004-08-02 13:34) [7]


> Unknown Mystic ©   (02.08.04 13:24) [6]


while True do
case MsgWaitForMultipleObjects(1, hProcess, false, INFINITE, QS_PAINT) of
WAIT_OBJECT_0: Break;
WAIT_OBJECT_0 + 1:
  while Peekmessage(Msg, 0, 0, 0, PM_REMOVE) do
    begin
      TranslateMessage(Msg);
      Dispatchmessage(Msg);
    end;
end;

WAIT_ABANDONED - это, в первую очередь, для работы с мьютексами и семафорами, тебя это в дан.случае не касается


 
Unknown Mystic ©   (2004-08-02 13:36) [8]

Большое спасибо!



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
14-1094050344
}|{yk
2004-09-01 18:52
2004.09.19
Помогите перевести


4-1091516920
sohat
2004-08-03 11:08
2004.09.19
Как определить наименование текущего приложения?


4-1092043138
Анатолий
2004-08-09 13:18
2004.09.19
Автогенерация в текущем десктопе.


3-1093012058
Koala
2004-08-20 18:27
2004.09.19
sweep interval = ???


1-1093936918
O?O
2004-08-31 11:21
2004.09.19
Неактивность приложения