Вверх ↑
Ответов: 264
Рейтинг: 18
#1: 2022-07-21 14:06:58 ЛС | профиль | цитата
nesco писал(а):
у меня нет никакого мерцания при изменении размера

Я проверяю на разных компьютерах\ноутбуках, поведение везде одинаковое.

nesco, хоть Вы и не любите старый добрый StringTableMT, я сравнил его поведение с MTStrTbl
Видео
MTStrTbl мерцает сильней без исправления кода, а с исправлением - также как и StringTableMT + глючит отрисовка строк при увеличении размера.
Схема


Add(MainForm,16094119,105,182)
{
 Width=695
 Height=350
 Caption="С патчем c исправлением кода"
 link(onCreate,7418820:doResize,[])
}
Add(ChildPanel,12487867,182,182)
{
 link(onEvent1,7418820:doEvent1,[])
 link(onEvent2,7418820:doEvent11,[])
}
BEGIN_SDK
  Add(EditMulti,16445913,21,21)
  {
   EventCount=2
   Width=146
   Height=228
  }
  Add(Panel,8092939,35,28)
  {
   Width=121
   Height=311
   Align=1
   ModeSp=3
  }
  Add(Button,11035052,35,63)
  {
   Left=20
   Top=10
   Width=80
   Caption="30 строк"
   link(onClick,16445913:onEvent1,[(117,69)(117,27)])
  }
  Add(Button,12204792,35,98)
  {
   Left=20
   Top=40
   Width=80
   Caption="Очистить"
   link(onClick,16445913:onEvent2,[(117,104)(117,34)])
  }
END_SDK
Add(StyleXP,5612224,56,182)
{
}
Add(ChildPanelEx,7418820,231,182)
{
}
BEGIN_SDK
  Add(EditMultiEx,12121787,21,21)
  {
   WorkCount=#8:doEvent1|9:doEvent11|8:doResize|
   link(doEvent1,13775491:doEvent1,[(35,27)(35,55)])
   link(doEvent11,15661481:doEvent1,[(35,34)(35,104)])
   link(doResize,15014532:doResize,[(59,41)(59,153)])
  }
  Add(Panel,6139585,161,98)
  {
   Left=121
   Width=558
   Height=311
   Align=5
  }
  Add(ChildPanel,16013350,98,49)
  {
  }
  BEGIN_SDK
    Add(EditMulti,5153088,21,21)
    {
     WorkCount=2
     Width=615
     Height=347
     link(doWork1,13517961:doFor,[(45,27)(45,223)])
     link(doWork2,16680851:doEvent1,[(45,34)(45,97)])
    }
    Add(Panel,4232779,154,35)
    {
     Left=121
     Width=280
     Height=310
     Layout="parent.01"
     WidthScale=50
    }
    Add(MTStrTbl,8318156,98,35)
    {
     Left=2
     Top=30
     Width=276
     Height=278
     Align=5
     Name="Tabl1"
     Columns=#5:№ п\п|1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|
    }
    Add(For,13517961,77,217)
    {
     End=30
     link(onEvent,13760527:doString,[])
     link(onStop,9888664:doEvent2,[(130,230)(130,293)])
    }
    Add(MST_RowAction,14020333,581,280)
    {
     MSTControl="Tabl1"
    }
    Add(MST_Clear,4406358,147,91)
    {
     MSTControl="Tabl1"
    }
    Add(MT_String,860943,532,280)
    {
     link(onResult,14020333:doRowAction,[])
    }
    Add(FormatStr,13760527,140,217)
    {
     DataCount=9
     Mask="%1;%2;%3;%4;%5;%6;%7;%8;%9"
     link(onFString,6117003:doAdd,[])
     link(Str1,12514779:Var1,[(146,201)])
     link(Str2,12514779:Var2,[])
     link(Str3,6727075:Var2,[])
     link(Str4,8770803:Var2,[])
     link(Str5,3231000:Var2,[])
     link(Str6,7385015:Var2,[])
     link(Str7,6643269:Var2,[])
     link(Str8,2317901:Var2,[])
     link(Str9,13198027:Var2,[])
    }
    Add(EventFromData,11037860,203,154)
    {
     link(onEvent,4000312:doRandom,[])
    }
    Add(Random,4000312,259,154)
    {
     Min=1000
     Max=10000
     link(onRandom,11037860:doData,[(303,160)(303,148)(191,148)(191,160)])
    }
    Add(GetDataEx,6727075,154,196)
    {
     Angle=1
     link(Data,8770803:Var1,[])
    }
    Add(GetDataEx,8770803,161,196)
    {
     Angle=1
     link(Data,3231000:Var1,[])
    }
    Add(GetDataEx,3231000,168,196)
    {
     Angle=1
     link(Data,7385015:Var1,[])
    }
    Add(GetDataEx,7385015,175,196)
    {
     Angle=1
     link(Data,6643269:Var1,[])
    }
    Add(GetDataEx,6643269,182,196)
    {
     Angle=1
     link(Data,2317901:Var1,[])
    }
    Add(GetDataEx,2317901,189,196)
    {
     Angle=1
     link(Data,13198027:Var1,[])
    }
    Add(GetDataEx,13198027,196,196)
    {
     Angle=1
     link(Data,11037860:GetData,[(209,201)])
    }
    Add(GetDataEx,12514779,147,196)
    {
     Angle=1
     link(Data,6727075:Var1,[])
    }
    Add(StrList,6117003,357,217)
    {
    }
    Add(Hub,16680851,77,91)
    {
     link(onEvent1,4406358:doClear,[])
     link(onEvent2,6117003:doClear,[(330,104)(330,230)])
    }
    Add(ChildPanel,7038444,140,280)
    {
     link(onEvent1,9888664:doEvent1,[])
    }
    BEGIN_SDK
      Add(EditMulti,7557279,21,21)
      {
       EventCount=1
       VarCount=1
       link(Var1,1332068:Text,[(27,151)(216,151)])
      }
      Add(Panel,10940747,56,49)
      {
       Left=2
       Top=2
       Width=276
       Height=28
       Align=2
       BevelInner=0
      }
      Add(Edit,1332068,210,49)
      {
       Left=20
       Top=5
       Width=85
       Text=""
       link(onChange,7557279:onEvent1,[(282,55)(282,27)])
      }
      Add(Button,14780004,147,49)
      {
       Left=110
       Top=6
       Caption="сброс"
       link(onClick,1332068:doText,[])
      }
      Add(Label,14227177,56,91)
      {
       Left=175
       Top=10
       Caption="MTStrTbl"
      }
    END_SDK
    Add(Hub,9888664,189,280)
    {
     InCount=2
     OutCount=3
     link(onEvent1,13982878:doClear,[])
     link(onEvent2,13503697:doString,[])
     link(onEvent3,15305743:doEnum,[])
    }
    Add(MST_Clear,13982878,217,280)
    {
     MSTControl="Tabl1"
    }
    Add(FormatStr,13503697,287,287)
    {
     DataCount=1
     Mask="*%1*"
     link(onFString,14773555:doMask,[])
     link(Str1,7038444:Var1,[(293,272)(261,272)(261,324)(146,324)])
    }
    Add(StrMask,14773555,434,280)
    {
     Point(doMask)
     link(onTrue,6563615:doString,[])
    }
    Add(ArrayEnum,15305743,371,294)
    {
     link(onItem,14773555:doCompare,[(419,300)(419,286)])
     link(Array,6117003:Array,[])
    }
    Add(FormatStr,6563615,483,287)
    {
     Mask="%1;%2"
     link(onFString,860943:doMT,[])
     link(Str1,14020333:Count,[(489,265)(621,265)(621,324)(587,324)])
    }
  END_SDK
  Add(Hub,13775491,49,49)
  {
   link(onEvent1,16013350:doWork1,[])
   link(onEvent2,736870:doWork1,[(81,62)(81,104)])
  }
  Add(Hub,15661481,49,98)
  {
   link(onEvent1,16013350:doWork2,[(81,104)(81,62)])
   link(onEvent2,736870:doWork2,[])
  }
  Add(ChildPanel,736870,98,98)
  {
  }
  BEGIN_SDK
    Add(EditMulti,7712959,21,21)
    {
     WorkCount=2
     Width=615
     Height=403
     link(doWork1,2014909:doFor,[(45,27)(45,223)])
     link(doWork2,328505:doEvent1,[(45,34)(45,97)])
    }
    Add(Panel,15220286,154,42)
    {
     Left=399
     Width=280
     Height=311
     Layout="parent.01"
     WidthScale=50
    }
    Add(For,2014909,77,217)
    {
     End=30
     link(onEvent,9837199:doString,[])
     link(onStop,6883212:doEvent1,[(119,230)(119,335)])
    }
    Add(FormatStr,9837199,140,217)
    {
     DataCount=9
     Mask="%1;%2;%3;%4;%5;%6;%7;%8;%9"
     link(onFString,5507751:doAdd,[])
     link(Str1,10229729:Var1,[(146,201)])
     link(Str2,10229729:Var2,[])
     link(Str3,5259159:Var2,[])
     link(Str4,8533612:Var2,[])
     link(Str5,3531516:Var2,[])
     link(Str6,1381821:Var2,[])
     link(Str7,2819909:Var2,[])
     link(Str8,758209:Var2,[])
     link(Str9,111699:Var2,[])
    }
    Add(EventFromData,15715321,203,154)
    {
     link(onEvent,14690365:doRandom,[])
    }
    Add(Random,14690365,259,154)
    {
     Min=1000
     Max=10000
     link(onRandom,15715321:doData,[(303,160)(303,148)(191,148)(191,160)])
    }
    Add(GetDataEx,5259159,154,196)
    {
     Angle=1
     link(Data,8533612:Var1,[])
    }
    Add(GetDataEx,8533612,161,196)
    {
     Angle=1
     link(Data,3531516:Var1,[])
    }
    Add(GetDataEx,3531516,168,196)
    {
     Angle=1
     link(Data,1381821:Var1,[])
    }
    Add(GetDataEx,1381821,175,196)
    {
     Angle=1
     link(Data,2819909:Var1,[])
    }
    Add(GetDataEx,2819909,182,196)
    {
     Angle=1
     link(Data,758209:Var1,[])
    }
    Add(GetDataEx,758209,189,196)
    {
     Angle=1
     link(Data,111699:Var1,[])
    }
    Add(GetDataEx,111699,196,196)
    {
     Angle=1
     link(Data,15715321:GetData,[(209,201)])
    }
    Add(GetDataEx,10229729,147,196)
    {
     Angle=1
     link(Data,5259159:Var1,[])
    }
    Add(Hub,328505,77,91)
    {
     link(onEvent1,11703699:doWork1,[(318,97)])
     link(onEvent2,5507751:doClear,[(309,104)(309,230)])
    }
    Add(ChildPanel,8528219,77,336)
    {
     link(onEvent1,6883212:doEvent2,[])
    }
    BEGIN_SDK
      Add(EditMulti,4482240,21,21)
      {
       EventCount=1
       VarCount=1
       link(Var1,10815115:Text,[(27,151)(216,151)])
      }
      Add(Panel,10623919,56,49)
      {
       Left=2
       Top=2
       Width=276
       Height=28
       Align=2
       BevelInner=0
      }
      Add(Edit,10815115,210,49)
      {
       Left=20
       Top=5
       Width=85
       Text=""
       link(onChange,4482240:onEvent1,[(282,55)(282,27)])
      }
      Add(Button,11937243,147,49)
      {
       Left=110
       Top=6
       Caption="сброс"
       link(onClick,10815115:doText,[])
      }
      Add(Label,668504,56,98)
      {
       Left=175
       Top=10
       Width=74
       Height=17
       Caption="StringTableMT"
      }
    END_SDK
    Add(StringTableMT,681548,537,194)
    {
     Left=2
     Top=30
     Width=276
     Height=278
     Align=5
     Font=[MS Sans Serif,8,0,0,204]
     Name="Tab"
     Layout="gor 01"
     WidthScale=100
     HeightScale=90
     Columns=#5:№ п\п|1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|
     ColumnClick=1
     TabGrid=0
     TabGridFrame=0
     SingleString=0
     Grid=0
     ModeMakeVisible=2
     IconsCheck=[]
     MiscIcons=[]
     Icons=[]
     Point(doSelect)
    }
    Add(StrList,5507751,364,217)
    {
    }
    Add(Hub,6883212,161,329)
    {
     InCount=2
     OutCount=3
     link(onEvent1,11703699:doWork3,[(318,335)])
     link(onEvent2,2411639:doString,[])
     link(onEvent3,6402959:doEnum,[])
    }
    Add(FormatStr,2411639,231,336)
    {
     DataCount=1
     Mask="*%1*"
     link(onFString,10662775:doMask,[])
     link(Str1,8528219:Var1,[(237,319)(141,319)(141,380)(83,380)])
    }
    Add(StrMask,10662775,350,329)
    {
     Point(doMask)
     link(onTrue,11171175:doString,[])
    }
    Add(ArrayEnum,6402959,287,343)
    {
     link(onItem,10662775:doCompare,[(335,349)(335,335)])
     link(Array,5507751:Array,[(293,296)(384,296)])
    }
    Add(FormatStr,11171175,399,336)
    {
     Mask="%1;%2"
     link(onFString,681548:doAdd,[(484,342)(484,200)])
     link(Str1,681548:Count,[(405,281)(543,281)])
    }
    Add(HubEx,11703699,314,201)
    {
     link(onEvent,681548:doClear,[])
    }
  END_SDK
  Add(HBoxLayout,15014532,98,147)
  {
   Name="01"
  }
END_SDK
карма: 3

0