anchor.diff:          begin
             Ctl:= TButton.Create(AForm);
             (Ctl as TButton).ModalResult:= cButtonResultStart+ AForm.ControlCount;
  -          {$ifdef windows}
  -          Ctl.Height:= 23; //smaller
  -          {$endif}
  -          {$ifdef darwin}
  -          Ctl.Height:= 21; //smaller
  -          {$endif}
  +          DoFixButtonHeight(Ctl);
  +        end;
  +      if SValue='checkbutton' then
  +        begin
  +          Ctl:= TToggleBox.Create(AForm);
  +          DoFixButtonHeight(Ctl);
           end;
         if SValue='radiogroup' then
           Ctl:= TRadioGroup.Create(AForm);
  
positive.code:   Result:=
      (C is TLabel) or
      (C is TButton) or
      (C is TEdit) or
      (C is TComboBox) or
      (C is TCheckBox) or
  
negative.code:     (C is TSpinEdit);
  end;
  
  procedure DoFixButtonHeight(Ctl: TControl);
  begin
    {$ifdef windows}
    Ctl.Height:= 23; //smaller
    {$endif}
    {$ifdef darwin}
    Ctl.Height:= 21; //smaller
    {$endif}
  end;
  
  function DoGetListviewState(C: TListView): string; forward;
  function DoGetControlState(C: TControl): string;
  var
  