> -- Александр К писал(а):
> Там даже реализована возможность изменять размеры внедрённого отображения через innerView.context.SetSize (w, h). Кстати, когда я сам пробовал реализовать это, то в контексте реализовывал метод:Правда никакого эффекта не получил.

Тут немного иначе, контекст как разу нужен, чтобы вы из родительского вида указать размеры.

Типовая реализация такая:
## Код:
```
PROCEDURE (c: Context) SetSize (w, h: INTEGER);
   BEGIN c.w := w; c.h := h
   END SetSize;
```



И потом из Restore уже перед установкой встроенных видов, передать их контекстам требуемые размеры.
Вот кусочек реального кода, который рисует у меня кнопки на панели инструментов:
## Код:
```
PROCEDURE (v: PanelView) Restore* (f: Views.Frame; l_, t_, r_, b_: INTEGER);
   VAR w, h, last: INTEGER; button: PanelButton; asc, dsc, fw: INTEGER;
   BEGIN
      v.context.GetSize(w, h);
      f.DrawRect(0, 0, w, panelHeightPx * Ports.point, - 1, param.backgroundColor);
      button := v.root;
      WHILE button # NIL DO
         button.context.SetSize(button.w * Ports.point, button.h  * Ports.point);
         Views.InstallFrame(f, button, button.x * Ports.point, button.y * Ports.point, 0, TRUE);
         last := button.x * Ports.point + button.w * Ports.point;
         button := button.next;
      END;
      
      fontStatus.GetBounds(asc, dsc, fw);
      f.DrawString(last + 200 * Ports.point, h DIV 2 + (asc - dsc) DIV 2, param.statusColor, status, fontStatus)
   END Restore;
```
