> -- Илья Ермаков писал(а):
> Вот правильное решение: ...
Спасибо. Я пробовал уже обрабатывать и MarkMsg и реализовывал методы RestoreMark и HandleViewMsg - по примеру StdRuler, запутался и реализовал так, как привык:
## Код:
```
| msg: Controllers.TrackMsg: v.select := ~v.select
```

> -- Илья Ермаков писал(а):
> По поводу прозрачности - вы имеете в виду полупрозрачность, то есть, альфа-канал? ...
Да, это и имел в виду. Что эту полупрозрачность нужно реализовать через свой фрейм - эт я догадался. Только функций WinApiне для целого окнане знаю.
Кстати, вопрос ещё один
## Код:
```
MODULE TestModels;
    TYPE
       StdModel = POINTER TO RECORD (Model)
          textModel-: TextModels.Model
       END;
       ....
       PROCEDURE (m: StdModel) SomeProc;
          VAR f: TextMappers.Formatter;
       BEGIN
          f.ConnectTo(m.textModel);
          f.WriteString('SomeProc'); f.WriteLn;
          m.text.RestoreDomain(m.text.Domain())
       END SomeProc;
       .... 
       PROCEDURE New* (): Model;
          VAR m: StdModel;
       BEGIN
          NEW(m);
          m.textModel := TextModels.dir.New();
          RETURN m
       END New;
 END TestModels.
 
  MODULE TestViews;
     TYPE
         StdView = POINTER TO RECORD (View) 
            textView: TextViews.View
         END
     ....
     PROCEDURE New* (): View;
        VAR v: StdView;
     BEGIN
        NEW(v);
        ...
        Stores.Join(v, m);
        v.textView := TextViews.dir.New(m.textModel);
        RETURN v
     END New;
  END TestViews.
```

Хочу, чтобы текстовая вьюшка скроллировалась автоматически при изменении текстовой модели - также как и StdLog. Я пробовал по-разному применять методы вроде Stores.Join(v.textView, m.textModel), Stores.InitDomain(m.textModel) и разные их комбинации в процедурах New() для модели и вьюшки, но скроллирования v.textView не добился. А в ходе экспериментов осталось непонятным для меня следующее: в процедуре TestViews.New все модели и вьюшки разделяют один домен (это получается сделать), в процедуре Restore домены уже разные. Возможно, не очень корректно вставлять текстовую модель в свою, и лучше её вставить в свою вьюшку, а изменять эту текстовую модель в PROCEDURE (v: StdView) HandleModelMsg....