Я подозреваю, что должен быть встроенный способ сделать это, но мой Google-фу подвел меня.
Я использую wxScrolledWindow
, и я должен нарисовать unscrolled фоновая картинка за содержимым при каждой прокрутке окна.Я сделал обработчик прокрутки вот так ...
void homewindow_t::onScroll(wxScrollEvent &evt) {
Refresh();
evt.Skip();
}
..., который заставляет его каждый раз перерисовывать все окно.К сожалению, он рисует окно до обработки прокрутки, поэтому фон перекрашивается, а затем прокручивается вверх или вниз, оборачивая выравнивание.Документация предполагает, что Refresh
просто делает недействительным экран, а это означает, что обработчик прокрутки должен форсировать перерисовку.
Единственный способ обойти это, что я вижу, - это обрабатывать код прокрутки самостоятельно, что я былучше не делать, если мне не нужно.
Идеи, предложения, подсказки ...?