zg wrote: но могу догадаться, для каких-то целей вы вызываете far.SubscribeDialogDrawEvents(true), после чего у вас в меню с историями тормозит навигация.
Для каких-то целей мне понадобилось воспользоваться событиями перерисовки, это верно.
Но попытавшись это сделать я обнаружил что это абсолютно невозможно
ни для каких целей.
Это проблема АПИ, а не xy.
(Разумеется пока в меню "официально" событий нет, это "официально" не проблема, а, скажем, пожелание)
zg wrote: из того, что я вижу, в VMenu2::Call (которая вызывается на каждый чих) дёргается DM_ENABLEREDRAW, что возможно приводит к частым перерисовкам[...]но это абсолютно никак не связано с тем, что у вас в первом посте.
Да, мне следовало сразу дать общую картину, а не ограничиваться описание того, что происходит в покое.
zg wrote: the xy problem.
С каждым бывает, но не замечал что склонен описывать проблемы такого рода (и сейчас в упор не вижу).
zg wrote: лечить нужно причину, а не следствие.
Бесспорно. Но я не владею c++, и не могу проанализировать исходники фара, поэтому излагаю проблему в терминах того, что получаю через АПИ.
Не могу судить, что тут нужно лечить, а могу лишь описать, как оно проявляется.
С этой точки зрения задача в том, чтобы иметь в ProcessDialogEventW понятные (а значит пригодные для использования) события.
И это не какое-то абстрактное оторванное от практики желание, это реальная необходимость в условиях скудной документации фара, в которой не описывается ряд существенных деталей (таких как например порядок событий, и т.п.).