Схема для тех, кто не хочет заморачиваться со своими 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




