2009-03-24 10 views
1

Я рисую внутри wx.Window, используя PaintDC. Я рисую круги и прочее в этом окне. Проблема в том, что иногда круги выходят за рамки окна. Я хочу, чтобы полоса прокрутки автоматически отображалась всякий раз, когда рисунок становится слишком большим. Что я делаю?wxPython: Создание прокручиваемого DC

ответ

1

Использовать wx.ScrolledWindow и установить размер окна, как только ваш «рисунок выйти за пределы» окно с

SetVirtualSize(width,height) 

Если этот размер больше, чем размер клиента, то WX покажет скроллбары. При нанесении в окне обязательно используйте CalcUnscrolledPosition и CalcScrolledPosition

Here вы можете найти дополнительную информацию.

+0

Я не совсем понял. Нужно ли мне самостоятельно рассчитать, сколько ширины и высоты занимают рисунки? Потому что я не понимаю, как получить значения «ширина» и «высота» для SetVirtualSize. –

+0

Если ваш круг на 10 пикселей шире вашего экрана, добавьте 10 к текущему размеру клиента, и у вас будет новая ширина. – RSabet

+0

Извините, я пока не понимаю. Предположим, я рисую всевозможные вещи в этом DC. Должна ли я следить за тем, сколько места занимает мой рисунок? –