Схема для тех, кто не хочет заморачиваться со своими edit-ами при редактировании строки StringTableMT, но хочет получить некоторый доступ к встроенным editam (которые появляются при двойном клике на строке - режим редактирования строки).
Например, нужно заблокировать для изменения последние две ячейки редактируемой строки:
Add(MainForm,2953706,217,266) { Width=911 Height=350 Position=1 } Add(StringTableMT,7503742,448,280) { Width=903 Height=250 Align=2 Font=[Calibri,28,0,0,204] Name="table1" Columns=#7:авб=200|7:где=150|7:еёж=150|11:зик-T20=160|7:лмн=160| StrDelimiter="\9" Redaction=0 Flat=1 TabGrid=0 Grid=0 IconsCheck=[] MiscIcons=[] Icons=[] StringsStrLst=#24:йцу\9енг\9шщз\9фыв\9апро|28:еке\9енг\9шщипз\9фы54в\9апро|32:йцпку\9е55нг\9ш5нщз\9фыв\9апрьго|34:й5епцу\9ен634г\9шщз\9фыцьв\9аьпгро|34:йцрну\9е5нг\9шитщз\9фтпыв\9апрпк4о| AutoTblStrLst=0 StaticColumn=0 Point(onEscCell) Point(onChange) Point(Matrix) Point(EndIdx) Point(FullTextTab) Point(doInitTxtTab) Point(onKeyDown) Point(Index) Point(Handle) } Add(InfoTip,13056749,217,427) { Info=#31:Блокировка редактирования ячеек| Font=[MS Sans Serif,8,1,0,1] Frame=2 HAlign=0 Width=498 Height=340 Margin=3 } Add(Timer,2437119,287,574) { Interval=200 link(onTimer,1492792:doEvent1,[]) } Add(Hub,1492792,336,574) { OutCount=4 link(onEvent2,3632333:In,[]) link(onEvent3,11821637:doEnumChildWindows,[]) link(onEvent4,6899760:doEnum,[(360,601)(360,692)]) } Add(LineBreak,1044611,525,483) { link(Out,3781745:doClear,[]) Primary=[3632333,-161,98] } Add(WinEnum,11821637,406,567) { Point(onEnumChildWindows) Point(doEnumChildWindows) Point(ParentHandle) link(onEnumChildWindows,12747369:doValue,[]) link(ParentHandle,2020457:Var,[]) } Add(MT_MultiMem,12747369,455,581) { link(onData,10525174:doCompare,[]) } Add(If_else,10525174,497,581) { Op2=String(obj_EDIT) link(onTrue,1765035:doAdd,[]) link(Op1,12747369:Value1,[(503,569)(482,569)(482,625)(461,625)]) AddHint(1,37,70,13,Op2) } Add(IntegerArray,3781745,567,469) { IntArray=[] } Add(ArrayRW,1765035,567,567) { link(Array,922605:Var2,[]) link(Value,16686113:Var,[]) } Add(LineBreak,11887094,462,637) { Caption="hnd" Type=1 link(Data,12747369:Value2,[]) Primary=[16686113,119,-98] } Add(LineBreak,3080009,490,336) { Caption="hnd1" Type=1 link(Data,7503742:Handle,[]) Primary=[2020457,-77,189] } Add(GetDataEx,922605,567,504) { link(Data,3781745:Array,[]) } Add(LineBreak,614473,574,518) { Caption="arr" Type=1 link(Data,922605:Var3,[(580,509)]) Primary=[1795958,-203,140] } Add(CounterEx,5285802,413,686) { Max=1 Default=-1 Point(onThroughMax) link(onNext,999608:doEvent1,[]) } Add(ArrayEnum,6899760,371,686) { Type=1 link(onItem,5285802:doNext,[]) link(Array,1795958:Var,[]) AddHint(-85,26,35,13,Type) } Add(Case,6258814,483,693) { Value=Integer(1) link(onTrue,7738208:In,[]) AddHint(3,-23,21,13,Value) } Add(Hub,999608,455,686) { link(onEvent1,5300686:doData,[]) link(onEvent2,6258814:doCase,[]) } Add(LineBreak,3956031,329,693) { link(Out,6899760:doStop,[]) Primary=[7738208,196,7] } Add(WinTools,10447454,616,658) { Point(doEnable) link(Handle,3317433:Var,[]) } Add(DoData,5300686,567,686) { Data=Integer(0) link(onEventData,10447454:doEnable,[]) AddHint(1,35,21,13,Data) } Add(LineBreak,14718416,371,728) { Caption="hnd" Type=1 link(Data,6899760:Item,[]) Primary=[3317433,245,-98] }
Теги: StringTableMT, edit