Вверх ↑
Ответов: 263
Рейтинг: 18
#1: 2019-06-28 10:50:27 ЛС | профиль | цитата
Тема хоть и старая, но решил поделиться своей наработкой. Мне тоже понадобилось писать длинные названия столбцов. В этой теме http://forum.hiasm.com/topic/57902/0 почерпнул идею самодельной шапки MTStrTbl. Вот что у меня получилось.
Схема


Add(MTStrTbl,1220665,721,133)
{
Top=32
Width=685
Height=133
Align=5
Name="табл"
Layout="1"
HeightScale=100
TextAlign=2
Style=4
Grid=0
DrawManager="draw"
}
Add(MainForm,2953706,126,133)
{
Width=701
Height=204
Position=1
}
Add(StrList,14940135,308,84)
{
Strings=#12:№ п.п.=40==2|12:Адрес=100==0|14:Телефон=100==0|
}
Add(Hub,10281980,238,147)
{
OutCount=4
link(onEvent1,78252:doEvent1,[(527,153)(527,181)])
link(onEvent2,3278472:doEnum,[])
link(onEvent3,13501104:doEnum,[])
link(onEvent4,2227269:doEvent1,[(312,174)(312,202)])
}
Add(ArrayEnum,3278472,322,154)
{
link(onItem,14792321:doEvent1,[(376,160)(376,146)])
link(Array,14940135:Array,[])
}
Add(StrList,1078822,378,84)
{
Strings=#21:1;Ленина, 140;7-52-36|22:2;Гагарина, 18;7-17-44|22:3;Пушкина, 29Б;5-56-21|
}
Add(ArrayEnum,13501104,392,161)
{
link(onItem,5004350:doWork2,[(436,167)(436,181)])
link(Array,1078822:Array,[])
}
Add(MT_String,7629212,476,161)
{
link(onResult,6916704:doAddRow,[(536,167)(536,139)])
}
Add(StyleXP,4951727,126,84)
{
}
Add(ChildPanel,10794649,721,182)
{
@Hint=#26:Самодельныая шапка таблицы|
link(onEvent1,10515223:doSort,[])
AddHint(-73,60,173,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,12543744,21,21)
{
EventCount=1
WorkCount=3
Width=132
Height=109
link(doWork1,12924194:##clear,[(59,27)(59,41)])
link(doWork2,12924194:##add,[(59,34)(59,48)])
link(doWork3,12693430:doHeight,[(53,41)(53,97)])
}
Add(Panel,12693430,84,84)
{
Width=685
Height=1
Align=2
Color=16777215
ModeSp=3
SizeSp=2
BevelInner=0
Point(doHeight)
}
Add(ChildPanelEx,12924194,84,35)
{
Mode=1
link(onEventData,12543744:onEvent1,[(134,41)(134,27)])
link(индекс,12924194:##index,[(90,23)(72,23)(72,78)(90,78)])
}
BEGIN_SDK
Add(EditMultiEx,6203688,21,21)
{
WorkCount=#7:##clear|5:##add|
EventCount=#11:onEventData|
VarCount=#7:##index|
DataCount=#6:индекс|0:|
Width=657
Height=256
Point(##clear)
Point(##add)
Point(##index)
link(##add,7092218:doEvent1,[(42,34)(42,48)])
}
Add(Panel,12581313,336,133)
{
Left=35
Top=105
Width=1920
Height=1080
Align=1
Color=16777215
ModeSp=3
SizeSp=2
ColorSp=15790320
BevelInner=0
Point(doWidth)
Point(onResize)
Point(Width)
Point(doColor)
link(onResize,2008545:doCompare,[])
}
Add(Hub,7092218,49,42)
{
OutCount=4
link(onEvent1,7428087:doValue,[])
link(onEvent2,6782108:doSplit,[])
link(onEvent3,1455011:doAlignvertical,[(87,62)(87,230)])
link(onEvent4,13363551:doData,[(169,69)(169,146)])
}
Add(Memory,7428087,392,42)
{
@Hint=#34:Индекс схемы, он же индекс колонки|
Point(Data)
link(Data,6203688:индекс,[(398,28)(27,28)])
AddHint(46,-1,166,26,@Hint)
}
Add(FormatStr,11024032,567,140)
{
DataCount=3
Mask="%1=%2==%3"
link(onFString,11641728:doWrite,[])
link(Str1,6701484:Var3,[(573,110)])
link(Str3,14334982:Var3,[(587,103)])
}
Add(ArrayRW,11641728,623,133)
{
link(Array,2485689:ColumnArray,[])
link(Index,10450616:Var3,[(636,96)])
}
Add(MST_ArrayCols,2485689,623,35)
{
MSTControl="parent.parent.табл"
}
Add(If_else,2008545,392,140)
{
Op2=Integer(0)
link(onTrue,3284586:doData,[])
link(onFalse,10977285:doOperation,[])
link(Op1,2176024:Var2,[])
}
Add(Math,10977285,441,147)
{
Op2=4
link(onResult,14700479:doEvent2,[])
link(Op1,12383158:Var2,[])
}
Add(DoData,3284586,490,140)
{
link(onEventData,14700479:doEvent1,[])
link(Data,12383158:Var3,[(496,117)])
}
Add(GetDataEx,12383158,441,112)
{
Angle=3
link(Data,12581313:Width,[(376,117)(376,178)(342,178)])
}
Add(Hub,14700479,539,140)
{
InCount=2
OutCount=1
link(onEvent1,11024032:doString,[])
}
Add(MultiElementEx,1455011,203,217)
{
@Hint=#26:Отрисовка названий колонок|
link(Text,6701484:Var2,[(209,208)(195,208)])
link(AlighHor,14334982:Var2,[])
link(Bitmap,7841714:Bitmap,[])
link(X,7841714:Top,[])
link(Y,7841714:Left,[])
link(X1,7841714:Width,[])
link(Y1,7841714:Height,[])
AddHint(138,14,166,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,16573298,21,21)
{
WorkCount=#6:doDraw|15:doAlignvertical|
DataCount=#4:Text|8:AlighHor|6:Bitmap|1:X|1:Y|2:X1|2:Y1|
Width=174
Height=221
link(doDraw,8847184:doDraw,[(35,27)(35,202)])
link(doAlignvertical,7201138:doData,[(35,34)(35,209)])
}
Add(Img_TextInRect,8847184,105,196)
{
Point2AsOffset=0
OffsetRight=2
AlignHorizon=2
Alignvertical=2
Point(doAlignHorizon)
link(Bitmap,16573298:Bitmap,[(111,151)(41,151)])
link(Text,16573298:Text,[(118,175)(27,175)])
link(Point1,10223932:Point,[])
link(Point2,10999290:Point,[(132,177)(153,177)])
}
Add(PointXY,10223932,119,133)
{
link(X,16573298:X,[(125,124)(48,124)])
link(Y,16573298:Y,[(132,77)(55,77)])
}
Add(PointXY,10999290,147,63)
{
link(X,16573298:X1,[(153,50)(62,50)])
link(Y,16573298:Y1,[(160,42)(69,42)])
}
Add(DoData,7201138,49,203)
{
link(onEventData,8847184:doAlignHorizon,[])
link(Data,16573298:AlighHor,[(55,188)(34,188)])
}
END_SDK
Add(IndexToChanel,8744723,490,175)
{
link(onEvent1,16768989:doData,[])
}
Add(GetDataEx,10450616,602,91)
{
Angle=3
link(Data,2176024:Var3,[])
}
Add(Hub,9093452,119,168)
{
InCount=2
link(onEvent1,7841714:doClear,[])
link(onEvent2,1455011:doDraw,[(172,181)(172,223)])
}
Add(DoData,16768989,602,175)
{
link(onEventData,6203688:onEventData,[(663,181)(663,27)])
link(Data,10450616:Var2,[])
}
Add(MultiElementEx,2303422,280,182)
{
@Hint=#15:Изменение цвета|
link(onColor1,12581313:doColor,[(324,188)(324,153)])
link(onColor2,5030271:doEvent1,[(337,195)(337,256)(102,256)(102,202)])
AddHint(68,18,105,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,10027322,21,21)
{
WorkCount=#8:doEvent1|9:doEvent11|
EventCount=#8:onColor1|8:onColor2|
Width=510
Height=151
link(doEvent1,8553288:doEvent1,[(39,27)(39,125)])
link(doEvent11,9701472:doEvent1,[(39,34)(39,48)])
}
Add(Memory,11849292,350,42)
{
Default=Integer(100)
link(onData,13506573:doEvent1,[])
}
Add(MMTimer,2344419,126,42)
{
Interval=20
Enable=1
@IsLib=True
link(onTimer,1443830:doOperation,[])
}
Add(Hub,9701472,56,42)
{
link(onEvent1,2344419:doTimer,[])
link(onEvent2,16465767:doEvent1,[(81,55)(81,132)])
}
Add(Hub,8553288,56,119)
{
link(onEvent1,12999749:doTimer,[])
link(onEvent2,13372952:doEvent1,[(81,132)(81,55)])
}
Add(Math,1443830,189,42)
{
Op2=5
link(onResult,3786256:doCompare,[])
link(Op1,9271514:Var3,[(195,30)(181,30)])
}
Add(If_else,3786256,238,42)
{
Type=3
Op2=Integer(100)
link(onTrue,2784498:doEvent1,[])
link(onFalse,13372952:doEvent2,[(282,55)(282,78)(86,78)(86,62)])
}
Add(Hub,13372952,98,49)
{
InCount=2
OutCount=1
link(onEvent1,2344419:doStop,[])
}
Add(Math,2973136,175,119)
{
OpType=1
Op2=5
link(onResult,12173902:doCompare,[])
link(Op1,9271514:Var2,[])
}
Add(If_else,12173902,238,119)
{
Type=4
Op2=Integer(0)
link(onTrue,2784498:doEvent2,[(296,125)(296,55)])
link(onFalse,16465767:doEvent2,[(280,132)(280,157)(86,157)(86,139)])
}
Add(Hub,16465767,98,126)
{
InCount=2
OutCount=1
link(onEvent1,12999749:doStop,[])
}
Add(Hub,2784498,322,42)
{
InCount=2
OutCount=1
link(onEvent1,11849292:doValue,[])
}
Add(GetDataEx,9271514,175,92)
{
Angle=1
link(Data,11849292:Value,[(356,97)])
}
Add(ColorShade,8825518,434,42)
{
Color=15780518
Mode=0
link(onResult,10027322:onColor1,[(481,48)(481,27)])
}
Add(ColorShade,3690173,434,84)
{
Color=16771802
Mode=0
link(onResult,10027322:onColor2,[(499,90)(499,34)])
}
Add(Hub,13506573,399,42)
{
link(onEvent1,8825518:doShade,[])
link(onEvent2,3690173:doShade,[(423,55)(423,90)])
}
Add(MMTimer,12999749,126,119)
{
elink(2344419)
link(onTimer,2973136:doOperation,[])
}
END_SDK
Add(Hub,5030271,119,196)
{
OutCount=3
link(onEvent1,7841714:doColor,[(181,202)(181,181)])
link(onEvent2,9093452:doEvent2,[(153,209)(153,195)(104,195)(104,181)])
link(onEvent3,7841714:doRefresh,[(162,216)(162,167)])
}
Add(PaintBox,7841714,217,161)
{
Width=1920
Height=1080
Align=5
Color=16777215
Point(Top)
Point(Left)
Point(Width)
Point(Height)
Point(onResize)
Point(doColor)
Point(onMouseDown)
Point(onMouseEnter)
Point(onMouseLeave)
link(onResize,9093452:doEvent1,[(275,174)(275,154)(103,154)(103,174)])
link(onMouseDown,8744723:doEvent,[])
link(onMouseEnter,2303422:doEvent1,[])
link(onMouseLeave,2303422:doEvent11,[])
}
Add(MultiStrPart,6782108,189,49)
{
Char="="
Count=4
}
Add(DoData,13363551,280,140)
{
link(onEventData,12581313:doWidth,[])
link(Data,6782108:Part2,[(286,120)(202,120)])
}
Add(GetDataEx,6701484,189,105)
{
link(Data,6782108:Part1,[])
}
Add(GetDataEx,2176024,392,91)
{
link(Data,7428087:Value,[])
}
Add(GetDataEx,14334982,210,98)
{
link(Data,6782108:Part4,[])
}
END_SDK
END_SDK
Add(Hub,14792321,574,140)
{
InCount=3
link(onEvent1,6916704:doAddCols,[])
link(onEvent2,10794649:doWork2,[(639,153)(639,195)])
}
Add(MST_SortInCol,10515223,784,182)
{
MSTControl="табл"
}
Add(MST_DrawManager,10020943,784,133)
{
Name="draw"
SingleString=0
TabGrid=0
TabGridFrame=0
StyleGrid3D=1
Gradient=0
GradientColor=16766387
FrameColor=16684946
BkFrameColor=16774376
ShadowColor=536870912
LightTxtColor=-16777209
GutterColor=16777215
}
Add(MST_DB,6916704,651,133)
{
MSTControl="табл"
Point(doClearAll)
}
Add(Button,7611304,189,147)
{
Left=10
Top=140
Caption="1"
Data=Integer(18)
link(onClick,10281980:doEvent1,[])
}
Add(Button,1313184,189,287)
{
Left=75
Top=140
Caption="2"
Data=Integer(32)
link(onClick,6349046:doEvent1,[])
}
Add(Button,5397854,189,427)
{
Left=140
Top=140
Caption="3"
Data=Integer(48)
link(onClick,6395279:doEvent1,[])
}
Add(StrList,8098602,308,224)
{
Strings=#12:№ п.п.=30==2|21:Адрес магазина=100==0|25:Телефон для заявок=100==2|
}
Add(Hub,6349046,238,287)
{
OutCount=4
link(onEvent1,78252:doEvent2,[(566,293)(566,188)])
link(onEvent2,8786698:doEnum,[])
link(onEvent3,11673750:doEnum,[])
link(onEvent4,2227269:doEvent2,[(583,314)(583,209)])
}
Add(ArrayEnum,8786698,322,294)
{
link(onItem,14792321:doEvent2,[(546,300)(546,153)])
link(Array,8098602:Array,[])
}
Add(StrList,7585486,378,224)
{
Strings=#21:1;Ленина, 140;7-52-36|22:2;Гагарина, 18;7-17-44|22:3;Пушкина, 29Б;5-56-21|0:|
}
Add(ArrayEnum,11673750,392,301)
{
link(onItem,11202939:doWork2,[])
link(Array,7585486:Array,[])
}
Add(HubEx,5004350,455,175)
{
link(onEvent,7629212:doMTString,[])
}
Add(StrList,11417168,315,364)
{
Strings=#12:№ п.п.=30==2|21:Адрес магазина=100==0|25:Телефон для заявок=100==2|45:Сотовый номер дежурного администратора=100==2|
}
Add(Hub,6395279,245,427)
{
OutCount=4
link(onEvent1,78252:doEvent3,[(574,433)(574,195)])
link(onEvent2,14324283:doEnum,[])
link(onEvent3,5515100:doEnum,[])
link(onEvent4,2227269:doEvent3,[(592,454)(592,216)])
}
Add(ArrayEnum,14324283,329,434)
{
link(onItem,14792321:doEvent3,[(556,440)(556,160)])
link(Array,11417168:Array,[])
}
Add(StrList,7074781,385,364)
{
Strings=#33:1;Ленина, 140;7-52-36;8-ХХХ-ХХ-ХХ|34:2;Гагарина, 18;7-17-44;8-ХХХ-ХХ-ХХ|34:3;Пушкина, 29Б;5-56-21;8-ХХХ-ХХ-ХХ|0:|
}
Add(ArrayEnum,5515100,399,441)
{
link(onItem,11202939:doWork3,[(459,447)])
link(Array,7074781:Array,[])
}
Add(HubEx,11202939,455,301)
{
Angle=3
link(onEvent,5004350:doWork3,[])
}
Add(Hub,78252,588,175)
{
InCount=3
link(onEvent1,6916704:doClearAll,[(626,181)(626,153)])
link(onEvent2,10794649:doWork1,[])
}
Add(Hub,2227269,609,196)
{
InCount=3
OutCount=1
link(onEvent1,10794649:doWork3,[])
}

карма: 3

0