> -- Александр Ильин писал(а):
> ... я работаю над собственной подсистемой Mate. У меня есть компонент MateViews.View, отображающий последнее полученное значение какого-либо параметра системы отопления...
Я тоже делаю систему, аналогичную вашей: связь по Netbios, для одновременности - Services.Action, активные компоненты, как вы их назвали.... Но яне меняю размеры в HandleModelMsg, я делаю это только в Restore:
## Код:
```
TYPE
           ......
      Context = POINTER TO RECORD (Models.Context) 
         w, h: INTEGER;
         view: Views.View;
         base: Views.View
      END;
           ......
   (** Context **)

   PROCEDURE (c: Context) GetSize(OUT w, h: INTEGER);
   BEGIN
      w := c.w; 
      h := c.h
   END GetSize; 
   
   PROCEDURE (c: Context) SetSize(w, h: INTEGER);
      VAR msg: Properties.SizePref;
   BEGIN
      msg.h := h; msg.w := w;
      msg.fixedH := FALSE; msg.fixedW := FALSE;
      Views.HandlePropMsg(c.view, msg);
      c.w := msg.w; c.h := msg.h
   END SetSize;
.....
        PROCEDURE (v: StdView) Restore (f: Views.Frame; l, t, r, b: INTEGER);
        BEGIN
           ...
      (* Log *)
      v.textView.context.SetSize(rect_width, rect_height);
      Views.InstallFrame(f, v.textView, x, y, 0, TRUE);
           ...
       END Restore;
```

Хотелось бы, конечно, не создавать собственную вьюшку, состоящую из многих встроенных.. а разместить эти мои 12 встроенных на стандартную форму (чтобы менять их как захочется - и размеры и местоположение), только для этого надо интеракторы делать.. да ещё и лог текстовой, к нему тоже надо... а как это делать - ещё не знаю. Каждый раз переписывать код для изменения положения одной встроенной вьюшки относительно другой - очень не хочется. Зато масштабирование есть, чего на обычной форме не будет.