Вверх ↑
Этот топик читают: Гость
Ответов: 783
Рейтинг: 168
#16: 2023-02-12 15:43:18 ЛС | профиль | цитата
И такой вариант возможен

Add(MainForm,14160904,133,35)
{
Width=487
Point(Handle)
}
Add(CheckBox,1699363,336,126)
{
Left=140
Top=25
}
Add(CheckBox,5740907,385,126)
{
Left=140
Top=50
}
Add(CheckBox,14857526,434,126)
{
Left=140
Top=75
}
Add(Button,2859295,63,112)
{
Left=25
Top=30
link(onClick,3064091:doEnumChildWindows,[])
}
Add(Edit,848240,504,126)
{
Left=275
Top=10
Width=125
}
Add(Label,1585428,553,126)
{
Left=275
Top=45
}
Add(WinEnum,3064091,126,91)
{
Point(doEnumChildWindows)
Point(ParentHandle)
Point(onEnumChildWindows)
link(ParentHandle,14160904:Handle,[])
link(onEnumChildWindows,11733625:doSeparateMT,[])
}
Add(SendMessage,7481963,238,112)
{
Point(Message)
link(Message,16374981:Value,[])
}
Add(MT_MultiData,11733625,182,105)
{
link(onData2,7481963:doSendMessage,[])
}
Add(Memory,16374981,259,56)
{
Default=Integer(241)
}
Add(CheckBox,5390933,336,42)
{
Left=140
Top=105
}
Add(CheckBox,11403398,385,42)
{
Left=140
Top=130
}
Add(CheckBox,16585585,434,42)
{
Left=140
Top=155
}

карма: 15

1
Голосовали:tig-rrr
Ответов: 133
Рейтинг: 0
#17: 2023-02-12 16:12:06 ЛС | профиль | цитата
Спасибо вам за варианты ) Дело в том, что мне в моей программе надо заполнение форм обнулять, включая не только галочки, но и выборы пунктов из списка и надписи. В том смысле что сделал я вот описание, выставил где надо галочки, выбрал нужные пункты и написал что надо и для другого товара нужно все заново выставлять/выбирать/писать, чтобы не путаться. Пока что самое оптимальное было то, что предложил Gunta.

Редактировалось 1 раз(а), последний 2023-02-12 16:19:32
карма: 1

0
Ответов: 1926
Рейтинг: 172
#18: 2023-02-22 21:27:32 ЛС | профиль | цитата
andrestudio, убирает только на главной форме
Вот для всяких вложенных:

Add(MainForm,1301091,343,287)
{
Width=487
Point(PHandle)
}
Add(InlineCode,4069783,343,343)
{
WorkPoints=#12:doClearCheck|
DataPoints=#9:dtPHandle|
Code=#26:{ Author -=andrestudio=- }|15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|25: dtPHandle:THI_Event;|54: procedure doClearCheck(var dt: TData; idx: word);|5: end;|0:|14:implementation|0:|35:procedure THiAsmClass.doClearCheck;|14:var i:integer;|5:begin|113: for i := 0 to ReadControl(dtPHandle,'').ChildCount-1 do ReadControl(dtPHandle,'').Children[i].Checked := False;|4:end;|0:|4:end.|
link(dtPHandle,1301091:PHandle,[])
}
Add(CheckBox,1699363,343,231)
{
Left=140
Top=25
Checked=0
}
Add(CheckBox,5740907,392,231)
{
Left=140
Top=50
Checked=0
}
Add(CheckBox,14857526,441,231)
{
Left=140
Top=75
Checked=0
}
Add(Button,2859295,294,343)
{
Left=25
Top=30
link(onClick,4069783:doClearCheck,[])
}
Add(Edit,848240,511,231)
{
Left=275
Top=10
Width=125
}
Add(Label,1585428,560,231)
{
Left=275
Top=45
}
Add(ChildPanel,13770192,420,371)
{
}
BEGIN_SDK
Add(EditMulti,4311986,21,21)
{
}
Add(Panel,5970169,469,266)
{
Left=35
Top=105
Width=265
Height=150
Point(PHandle)
}
Add(Button,14914119,413,315)
{
Left=25
Top=30
link(onClick,3538354:doClearCheck,[])
}
Add(CheckBox,4590284,364,210)
{
Left=140
Top=25
Checked=0
}
Add(CheckBox,9465950,413,210)
{
Left=140
Top=50
Checked=0
}
Add(CheckBox,16707134,462,210)
{
Left=140
Top=75
Checked=0
}
Add(InlineCode,3538354,469,315)
{
WorkPoints=#12:doClearCheck|
DataPoints=#9:dtPHandle|
Code=#26:{ Author -=andrestudio=- }|15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|25: dtPHandle:THI_Event;|54: procedure doClearCheck(var dt: TData; idx: word);|5: end;|0:|14:implementation|0:|35:procedure THiAsmClass.doClearCheck;|14:var i:integer;|5:begin|113: for i := 0 to ReadControl(dtPHandle,'').ChildCount-1 do ReadControl(dtPHandle,'').Children[i].Checked := False;|4:end;|0:|4:end.|
link(dtPHandle,5970169:PHandle,[])
}
END_SDK
карма: 9
1
Голосовали:tig-rrr
Ответов: 133
Рейтинг: 0
#19: 2023-02-24 07:45:31 ЛС | профиль | цитата
3042, А как сделать тоже самое, но с очищением введённых слов и сбросом выбранных пунктов? Ну в смысле чтобы полностью форма сбросилась и заново нужно было все вводить и выбирать?
карма: 1

0
Ответов: 1926
Рейтинг: 172
#20: 2023-02-25 08:02:36 ЛС | профиль | цитата
Ну, хороший вариант был выше предложен, вот:

Add(MainForm,5777707,427,574)
{
Width=476
Height=370
link(onCreate,860105:doEvent2,[(529,594)(529,545)])
}
Add(ChildPanelEx,6931413,574,532)
{
}
BEGIN_SDK
Add(EditMultiEx,13014959,21,21)
{
WorkCount=#8:##delete|5:##add|0:|
Width=636
Height=312
Point(##delete)
Point(##add)
}
Add(Panel,14947415,84,168)
{
Left=15
Top=55
Width=282
Height=180
WinStyle=1
Point(doSetFocus)
}
Add(CheckBox,6946535,539,217)
{
Left=15
Top=130
Point(doCaption)
}
Add(CheckBox,15130204,532,210)
{
Left=210
Top=25
Point(doCaption)
}
Add(CheckBox,16663432,525,203)
{
Left=175
Top=95
Point(doCaption)
}
Add(CheckBox,15201497,518,196)
{
Left=65
Top=95
Point(doCaption)
}
Add(CheckBox,16240819,511,189)
{
Left=30
Top=25
Point(doCaption)
}
Add(CheckBox,1779273,504,182)
{
Left=85
Top=5
Point(doCaption)
}
Add(CheckBox,14898650,497,175)
{
Left=95
Top=55
Point(doCaption)
}
Add(CheckBox,4351458,490,168)
{
Left=5
Top=60
Point(doCaption)
}
Add(CheckBox,11481361,483,161)
{
Left=145
Top=35
Point(doCaption)
}
Add(Edit,1737850,210,140)
{
Left=210
Top=140
Text=""
}
END_SDK
Add(DoData,8143440,476,532)
{
Data=Integer(0)
link(onEventData,860105:doEvent1,[])
}
Add(Hub,860105,539,532)
{
InCount=2
link(onEvent1,6931413:##delete,[])
link(onEvent2,6931413:##add,[])
}
Add(Button,5360813,427,532)
{
Left=5
Top=14
Width=49
link(onClick,8143440:doData,[])
}
При нажатии кнопки динамическая панелька уничтожается и заново создаётся - с исходными состояниями флажков, полей...
карма: 9
0
Ответов: 133
Рейтинг: 0
#21: 2023-02-25 09:12:19 ЛС | профиль | цитата
3042, ну вот ее я и реализовал ) Просто ваш метод не требует сильной переделки всей программы, хотя я это уже сделал. Ну ладно, спасибо за помощь все равно )
карма: 1

0
21
Сообщение
...
Прикрепленные файлы
(файлы не залиты)