Главная страница
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.021 c
1-1094043254
Subdigger
2004-09-01 16:54
2004.09.19
Excel


1-1094191981
normandia
2004-09-03 10:13
2004.09.19
параллельное перемещение в двух контролах на форме


1-1094113972
ZemA
2004-09-02 12:32
2004.09.19
События происходят дважды. Это нормально?


4-1091346018
Protoss
2004-08-01 11:40
2004.09.19
А правда реально разбудить компьютер из режима слип программно?


10-1034651971
Comwad
2002-10-15 07:19
2004.09.19
Глюк в Delphi 7 или VB4.5 (Пример Midas XML)