Win32 WM_SETCURSOR, WM_MOUSEMOVE всегда в паре?

Я не думаю, что вам нужен обратный резерв, потому что, если вы получаете больше, чем обрабатываете все время, это выделит всю память и исключение курса в вашем случае, но я думаю, что выбор состоит в том, чтобы создать источник излучения, в котором каждый поток посылает элемент этому эмиттер и использовать mongorepo.saveAll (эмиттер):

процессор1 ->

процессор2 ->

процессор3 ->

процессор4 ->

[ 115] processor5 -> EMITTING EMITTER - EMITTER СОХРАНИТЬ В MONGO с помощью saveAll (эмиттер)

процессор6 ->

процессор7 ->

процессор8 ->

[119 ] процессор9 ->

процессор10 ->

5
задан efotinis 17 November 2008 в 21:27
поделиться

3 ответа

В то время как они могли бы в настоящее время всегда стать подобранной парой, Вы, вероятно, не можете полагаться на это поведение.

Можно установить курсор во время WM_MOUSEMOVE (использующий SetCursor), и он не будет мерцать, пока (IIRC), Вы возвращаете TRUE от WM_SETCURSOR, ничего не делая (т.е. Вы едите сообщение), и Вашему окну не присвоили курсор класса ему.

2
ответ дан 14 December 2019 в 04:51
поделиться

Там какой-либо путь состоит в том, чтобы кэшировать последний объект, который был найден, и ярлык поиск, если курсор находится в том же месте? Это было бы большей частью надежного решения.

1
ответ дан 14 December 2019 в 04:51
поделиться

Самый важный из всех то, что Ваши обработчики сообщений окна не должны волноваться о содержании или вычислении ничего. Необходимо просто предупредить логике приложения, что мышь потенциально по новой области, и заставьте ее найти объект (объекты). После того как Вы находите горячую область (или больше чем один), кэшируете ее (их) границы и проверяете следующие перемещения мыши по тем. После того как мышь перемещается из одного из них, можно восстановить горячий список объектов.

Вы не должны искать для горячей области на всем протяжении управления на каждом перемещении мыши.

В случае, если, когда может быть много объектов, совместно использующих ту же область, существует вопрос z-порядка. Думайте об этом, когда Вы создадите те объекты и обработаете их перемещение.

Также необходимо думать об эффективной структуре данных, содержащей объектные координаты, таким образом, Вы не должны проверять каждый объект каждый раз, когда Вы ищете горячий.

Просто мои два евро.;)

2
ответ дан 14 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: