Форум: "WinAPI";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
Вниз
Сообщения - где эта очередь и кто крайний? Найти похожие ветки
← →
jj (2002-06-18 20:44) [0]В DBCtrlGrid на OnPaintPanel выполняю свою прорисовку панелей, и она, мягко говоря, притормаживает, в зависимости от мощности компа.
Если юзер давит на кнопки постоянно, грид отрисовывается инертно. Хочу отключить тормозные операции, временно, чтобы после повторить, когда юзер уймется, прямо в OnPainPanel проверяю GetInputState – она молчит, как рыба об лед, типа нет ничего в очереди, а панели продолжают так же инертно отрисовываться, когда уже никто ничего и не жмет.
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer);
…
If GetInputState() then ….юзер торопится, нельзя выполнять тормозные штуки
Else ….мона, все равно он мух ловит.
…
Когда, как и где буферизируются и обрабатываются сообщения – загадка, во всяком случае, для меня. Наверно, я чтонить неправильно делаю, но что ? Где эта очередь ?
Клава и мыша – полбеды, грид может репозиционироваться , например, и по команде с датасорса (датасета, и т.д….).Судя по исходникам VCL, эти мессаги вообще идут напрямую в контрол через Perform(), мимо очереди, если я не ошибаюсь.И тем не менее они где-то буферизируются…..
Вообще, можно ли для конкретного контрола узнать, сколько сообщений стоят к нему в очередь ? И какие ?
Если прямого ответа нет, то , плиз, подскажите хотя бы, где самообразоваться мона…
← →
blackman (2002-06-19 10:12) [1]Мона, если нуна
http://delphi.mastak.ru/articles.html
← →
SPeller (2002-06-19 22:58) [2]В WinSDK есть функции которые возвращают и вынимают сообющения из очереди.
← →
jj (2002-06-20 03:42) [3]И GetInputState - одна из них...:)
В такой очереди я уже стоял...:) Где другая ?
Идея в чем - если знать, что в системе произошли события, предназначенные конкретному контролу,независимо от способа - SendMessage, PostMessage, Perform, хардварно,т.д., то можно реагировать, даже и в том случае, если они еще не дошли до него, вернее, если он еще не обрабатывает их.
Но это если знать...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c