> -- Илья Ермаков писал(а):
> А вот уже в Restore нужно реагировать на все изменения интерактора: перерисовывать данные, менять свой размер и т.п. В наиболее распостраненном случае достаточно вызвать view.context.SetSize - а скроллинг обеспечит сама среда, в механизме кадров, ну и соотв. полосы прокрутки у обертки StdScrollers тоже появятся автоматически.Но, как я понимаю, вы переделываете SqlControls, и там размер отображения (по вертикали) не меняется в целях скорости, а сообщения ScrollMsg и PollSectionMsg отрабатываются самостоятельно. Тогда в Restore вам нужно поменять какую-то внутреннюю переменную отображения, которая указывает на число строк или что там... Все остальное касательно прокрутки, как я уже говорил, сделает среда.
Нет, я вообще делаю таблицу с нуля. напрямую от Controls.Control без использования других исходников. (Кстати, вот опять же всплыла тема, про которую я уже говорил. Закрывая доступ к методам, и таким образом, защитившись от "хрупкости" базового класса мы сводим повторное использование кода к очень малым величинам, и переходим к китайскому методу Copy/Paste).
Но это я отвлёкся. Фактически, при изменении данных, Restore не вызывается ВООБЩЕ никогда, до тех пор, пока я не перекрою чем-нибудь окно с контролом, т.е. не испорчу изображение. Хотя Dialog.Update я вызываю сразу после изменения данных. В чём может быть проблема - не понимаю.
PollSectionMsg - также не вызывается! Поэтому там можно писать всё, что угодно - результат не изменится. Вернее это сообщение передаётся 1 раз: при первом отображении контрола, а потом при изменении данных оно больше не вызывается никогда! Где у меня может быть ошибка?

Заодно просветите тёмного, что такое view.context.SetSize
зачем и когда его нужно вызывать. А также что такое view.context?
Высоту и ширину и способ прокрутки я определяю самостоятельно.