Товарищи, делюсь кодом:
(Предполагается, что есть class
MethodsClass, где, согласно статье, есть метод
void Button_clicked):
X++:
MethodsClass methods = new MethodsClass();
Form form1;
FormRun frun;
Args args;
FormBuildDesign fbd;
FormBuildControl fbc;
FormBuildTabControl fbtc;
FormBuildTabPageControl fbtpc;
FormBuildGridControl fbgc;
FormBuildDataSource fbds;
FormBuildStringControl fbsc;
FormBuildIntControl fbic;
FormBuildButtonControl fbbc;
FormBuildStringControl fbsc2;
FormBuildStringControl fbsc3;
;
//Создаем форму
form1 = new Form();
//Потренеруемся заодно сменять датасорс
fbds = form1.addDataSource(tablestr(Worker));
fbds.name(tablestr(TableA));
fbds.table(tablenum(TableA));
fbds.allowCreate(false);
fbds.allowDelete(false);
fbds.allowEdit(false);
fbd = form1.addDesign("Design");
fbtc = fbd.addControl(FormControlType::Tab, "Tab");
fbtc.width(400);
fbtpc = fbtc.addControl(FormControlType::TabPage, "TabPage");
fbtpc.caption("Caption");
fbgc = fbtpc.addControl(FormControlType::Grid, "Grid");
fbgc.allowEdit(true);
fbgc.width(350);
fbic = fbgc.addDataField(fbds.id(), fieldnum(TableA, ID));
fbic.label("Айди");
fbic.width(50);
fbsc = fbgc.addDataField(fbds.id(), fieldnum(TableA, A_TEXT));
fbsc.label("Текст");
fbsc.width(250);
//Добавка кнопки
fbbc = fbtpc.addControl(FormControlType::Button, "Button");
fbbc.text("Текст кнопки");
fbbc.bold(7);
fbbc.colorScheme(2);
fbbc.backStyle(2);
fbbc.backgroundColor(0x0000ff00);
fbbc.foregroundColor(0x00ff0000);
//Добавка поля датасорса
fbsc2 = fbtpc.addControl(FormControlType::String, "StringEdit");
fbsc2.dataSource(fbds.id());
fbsc2.dataField(fieldnum(TableA, A_TEXT));
//Добавка текстового поля с перечислением
fbsc3 = fbtpc.addControl(FormControlType::String, "StringEdit1");
fbsc3.extendedDataType(extendedTypeNum(ETD_String));
args = new Args();
args.name("Рантайм-форма!");
args.object(form1);
frun = new FormRun(args);
frun.init();
frun.run();
//Вот код прикрепления метода
frun.controlMethodOverload(true);
frun.controlMethodOverloadObject(methods);
frun.wait();
S.Kuskov, Вам лайк!