Вверх ↑
Ответов: 1128
Рейтинг: 224
#1: 2026-07-20 17:27:34 ЛС | профиль | цитата
Можно попробовать немного оторвать дочернюю форму от главной. Дочерняя форма будет вести себя как будто она независимая. Но при закрытии главной формы закроются все дочерние.

Add(MainForm,2953706,210,112)
{
Caption="Главная форма"
WindowsState=1
}
Add(ChildForm,11221140,329,119)
{
}
BEGIN_SDK
Add(EditMulti,666296,21,21)
{
}
Add(MainForm,14906063,49,105)
{
Caption="Дочерняя форма 1"
Point(Handle)
link(onCreate,11049542:doWork,[])
}
Add(InlineCode,11049542,112,119)
{
WorkPoints=#6:doWork|
DataPoints=#4:hndl|
Code=#0:|15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|0:|17:hndl : THI_Event;|0:|47:Procedure doWork (var _Data:TData; Index:word);|0:|5: end;|0:|14:implementation|0:|60:Procedure THiAsmClass.doWork (var _Data:TData; Index:word);|5:Begin|3: |76: SetWindowLong(ReadInteger(_Data,hndl), GWL_HWNDPARENT, GetDesktopWindow);|3: |127: SetWindowLong(ReadInteger(_Data,hndl), GWL_EXSTYLE, GetWindowLong(ReadInteger(_Data,hndl), GWL_EXSTYLE) or WS_EX_APPWINDOW);|0:|4:end;|0:|4:end.|
link(hndl,14906063:Handle,[(118,110)(104,110)(104,145)(55,145)])
}
END_SDK
Add(ChildForm,1066862,329,182)
{
}
BEGIN_SDK
Add(EditMulti,13711871,21,21)
{
}
Add(MainForm,15868475,49,105)
{
Left=100
Top=100
Caption="Дочерняя форма 2"
ShiftLeft=100
ShiftTop=100
OffsetShift=0
Point(Handle)
link(onCreate,4179180:doWork,[])
}
Add(InlineCode,4179180,112,119)
{
WorkPoints=#6:doWork|
DataPoints=#4:hndl|
Code=#0:|15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|0:|17:hndl : THI_Event;|0:|47:Procedure doWork (var _Data:TData; Index:word);|0:|5: end;|0:|14:implementation|0:|60:Procedure THiAsmClass.doWork (var _Data:TData; Index:word);|5:Begin|3: |76: SetWindowLong(ReadInteger(_Data,hndl), GWL_HWNDPARENT, GetDesktopWindow);|3: |127: SetWindowLong(ReadInteger(_Data,hndl), GWL_EXSTYLE, GetWindowLong(ReadInteger(_Data,hndl), GWL_EXSTYLE) or WS_EX_APPWINDOW);|0:|4:end;|0:|4:end.|
link(hndl,15868475:Handle,[(118,110)(104,110)(104,145)(55,145)])
}
END_SDK

карма: 20

0