------------ Дoбавленo в 19.26:
Наконец-то поумнели менеджеры печати и могут брать как объект (правда, пока взять-то его негде) сверху, так и текстовое имя компонента в текущем шаблоне, с которым необходимо работать. Для этого необходимо доработать PrintController.pas примерно так:
#pas
procedure TPrintController.InitItem(var Data:TData);
var dt:TData;
begin
// if FItem = nil then
if _prop_ItemName = ' then
begin
dt := ReadData(Data, _data_Object);
if _IsObject(dt,DocItem_GUID) then
FItem := TDocItem(ToObject(dt));;
if _IsStr(dt) then
FItem := _prop_Document.getItem(ToString(dt));;
end
else FItem := _prop_Document.getItem(_prop_ItemName)//;
end;
И сразу заработают интересные схемы типа:
Add(MainForm,959703,126,154)
{
link(onCreate,13010429:doEvent1,[])
}
Add(PaintBox,15542754,210,133)
{
Left=165
Top=165
Align=5
Point(onDblClick)
link(onBeforeDraw,11240925:doDraw,[])
}
Add(DocumentTemplate,11240925,252,133)
{
Name="test"
link(Bitmap,15542754:Bitmap,[(258,121)(244,121)(244,177)(216,177)])
}
BEGIN_SDK
Add(Print_Text,2882565,-3,-3)
{
Name="editme0"
Width=100
Text="шаблон"
Font=[MS Sans Serif,8,1,0,1]
BackStyle=1
BackColor=15793151
}
Add(Print_Text,5079081,102,39)
{
Name="editme1"
X=105
Y=42
Width=100
Text="шаблон"
Font=[MS Sans Serif,8,1,0,1]
BackStyle=1
BackColor=15793151
}
Add(Print_Text,11683960,214,81)
{
Name="editme2"
X=217
Y=84
Width=100
Text="шаблон"
Font=[MS Sans Serif,8,1,0,1]
BackStyle=1
BackColor=15793151
}
END_SDK
Add(ChildPanelEx,16511796,392,168)
{
Mode=1
link(Data,11396245:CurrentX,[])
link(Data1,11396245:CurrentY,[])
link(Data2,1:CurrentWidth,[])
link(Data3,1:CurrentHeight,[])
}
BEGIN_SDK
Add(EditMultiEx,14079536,21,21)
{
WorkCount=#8:doEvent1|5:##add|
DataCount=#4:Data|5:Data1|5:Data2|5:Data3|
Point(##add)
link(##add,2726262:doEvent1,[(35,34)(35,55)])
}
Add(Panel,13922443,287,49)
{
Left=35
Top=105
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
}
Add(DoData,3226830,112,56)
{
link(onEventData,13922443:doLeft,[])
link(Data,14079536:Data,[(118,38)(27,38)])
}
Add(DoData,3323393,119,63)
{
link(onEventData,13922443:doTop,[])
link(Data,14079536:Data1,[(125,42)(34,42)])
}
Add(DoData,1582180,126,70)
{
link(onEventData,13922443:doWidth,[])
link(Data,14079536:Data2,[(132,46)(41,46)])
}
Add(DoData,8203846,133,77)
{
link(onEventData,13922443:doHeight,[])
link(Data,14079536:Data3,[(139,49)(48,49)])
}
Add(Hub,2726262,49,49)
{
OutCount=5
link(onEvent2,3226830:doData,[])
link(onEvent3,3323393:doData,[])
link(onEvent4,1582180:doData,[])
link(onEvent5,8203846:doData,[])
}
Add(Edit,2916654,231,154)
{
Width=60
Height=30
}
END_SDK
Add(PC_Position,11396245,392,84)
{
Document="test"
Point(Object)
link(Object,5278453:Var2,[])
}
Add(PC_Size,1,406,126)
{
Document="test"
Point(Object)
link(Object,5278453:Var3,[(426,73)])
}
Add(For,10376004,266,175)
{
End=2
link(onEvent,7508605:doStrCat,[])
}
Add(GetDataEx,5278453,406,68)
{
Angle=3
link(Data,7508605:Result,[(369,73)(369,219)(328,219)])
}
Add(Hub,13010429,168,168)
{
link(onEvent1,15542754:doRefresh,[(196,174)(196,139)])
link(onEvent2,10376004:doFor,[])
}
Add(StrCat,7508605,322,175)
{
Str1="editme"
link(onStrCat,16511796:##add,[])
}
nesco, это только у меня одного в ChildPanelEx не работает Align для вложенных элементов интерфейса?