Часто бывает нужно, чтобы во время обработки данных пользователь не нажимал ничего на форме. Этот IC блокирует/разрешает сразу ВСЕ дочерние элементы для указанного PHandle. Блокировать можно как сразу на всей форме, так и в отдельных панелях, GroupBox'ах и т.д.

Код:
Add(MainForm,2953706,476,301)
{
 Position=1
 Point(PHandle)
 Point(onKeyDown)
 link(onKeyDown,14966911:doCase,[])
}
Add(InlineCode,15732530,476,385)
{
 @Hint=#26:Доступности всех контролов|
 WorkPoints=#5:doEnb|5:doDsb|
 DataPoints=#9:dtPHandle|
 Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10:   private|9:   public|24:    dtPHandle:THI_Event;|46:    procedure doEnb(var dt:TData; index:word);|46:    procedure doDsb(var dt:TData; index:word);|5: end;|0:|14:implementation|0:|0:|71://----------------------------Внешние точки----------------------------|28:procedure THiAsmClass.doEnb;|5:begin|53: ReadControl(dtPHandle,'').EnableChildren(true,true);|4:end;|0:|28:procedure THiAsmClass.doDsb;|5:begin|54: ReadControl(dtPHandle,'').EnableChildren(false,true);|4:end;|0:|4:end.|
 link(dtPHandle,2953706:PHandle,[])
}
Add(Label,14905106,133,133)
{
 Left=75
 Top=35
}
Add(Edit,2105225,238,112)
{
 Left=185
 Top=15
}
Add(CheckBox,6957838,245,154)
{
 Left=190
 Top=55
}
Add(ChildGroupBox,2578984,84,182)
{
}
BEGIN_SDK
  Add(EditMulti,12973,21,21)
  {
  }
  Add(GroupBox,16477916,84,77)
  {
   Left=25
   Top=85
   Width=215
   Height=140
  }
  Add(Edit,10566298,28,28)
  {
   Left=25
   Top=30
  }
  Add(RadioButton,13882519,91,28)
  {
   Left=95
   Top=25
  }
  Add(ChildPanel,1252363,413,266)
  {
  }
  BEGIN_SDK
    Add(EditMulti,13106524,21,21)
    {
     VarCount=1
     link(Var1,383835:PHandle,[(27,186)(104,186)])
    }
    Add(Panel,383835,98,119)
    {
     Left=25
     Top=55
     Width=165
     Height=55
     Point(PHandle)
    }
    Add(Button,3261691,14,7)
    {
     Left=15
     Top=10
    }
    Add(ComboBox,9510208,84,14)
    {
     Left=85
     Top=15
     Height=21
    }
  END_SDK
  Add(InlineCode,12081186,413,329)
  {
   @Hint=#26:Доступности всех контролов|
   WorkPoints=#5:doEnb|5:doDsb|
   DataPoints=#9:dtPHandle|
   Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10:   private|9:   public|24:    dtPHandle:THI_Event;|46:    procedure doEnb(var dt:TData; index:word);|46:    procedure doDsb(var dt:TData; index:word);|5: end;|0:|14:implementation|0:|0:|71://----------------------------Внешние точки----------------------------|28:procedure THiAsmClass.doEnb;|5:begin|53: ReadControl(dtPHandle,'').EnableChildren(true,true);|4:end;|0:|28:procedure THiAsmClass.doDsb;|5:begin|54: ReadControl(dtPHandle,'').EnableChildren(false,true);|4:end;|0:|4:end.|
   link(dtPHandle,1252363:Var1,[])
  }
  Add(CheckBox,13736263,308,329)
  {
   Left=25
   Top=110
   Width=125
   Font=[MS Sans Serif,8,1,0,1]
   Checked=0
   Caption="Доступность"
   link(onCheck,16247284:doEvent,[])
  }
  Add(IndexToChanel,16247284,357,329)
  {
   link(onEvent1,12081186:doDsb,[(401,335)(401,342)])
   link(onEvent2,12081186:doEnb,[(401,342)(401,335)])
  }
END_SDK
Add(Case,14966911,525,322)
{
 Value=Integer(13)
 link(onTrue,14315788:doNext,[])
}
Add(CounterEx,14315788,574,329)
{
 Max=1
 link(onNext,11919202:doEvent,[(618,335)(618,363)(408,363)(408,391)])
}
Add(IndexToChanel,11919202,420,385)
{
 link(onEvent1,15732530:doEnb,[])
 link(onEvent2,15732530:doDsb,[])
}