Вверх ↑
Этот топик читают: Гость
Ответов: 44
Рейтинг: 0
#1: 2019-01-23 16:34:59 ЛС | профиль | цитата
Подскажите.
Как запустить действие, при сворачивании формы?
То есть у компонента MainForm есть точка doMinimize, но нет точки onMinimize.
2.3.1. Заголовок темы должен отражать суть содержимого. Каждая новая тема должна быть размещена в разделе, соответствующем содержанию, либо в разделе “Общение”, если не подходит ни под один из них.

карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 537
Рейтинг: 14
#2: 2019-01-23 16:56:50 ЛС | профиль | цитата

Add(MainForm,11597647,168,105)
{
Width=319
Height=259
Color=16777215
Name="fff"
Caption=""
TransparentColor=-16777202
Point(Handle)
}
Add(WinInfo,1173873,168,168)
{
Point(IsZoomed)
link(Handle,11597647:Handle,[])
}
Add(Timer,9219229,84,217)
{
link(onTimer,874649:doEvent1,[])
}
Add(Hub,874649,140,217)
{
link(onEvent1,1173873:doWinInfo,[(161,223)(161,174)])
link(onEvent2,15095381:doData,[])
}
Add(DoData,15095381,182,224)
{
link(onEventData,11597647:doCaption,[(229,230)(229,154)(156,154)(156,111)])
link(Data,1173873:IsZoomed,[])
}

карма: 4

0
Ответов: 44
Рейтинг: 0
#3: 2019-01-23 17:03:39 ЛС | профиль | цитата
Sersey, Не совсем правильно работает, при сворачивании состояние все равно 1, а я так понял, должно быть 0.
Add(MainForm,11597647,455,168){
Width=319
Height=259
Color=16777215
Name="fff"
Caption=""
TransparentColor=-16777202
Point(Handle)
}
Add(WinInfo,1173873,455,231)
{
Point(IsZoomed)
link(Handle,11597647:Handle,[])
}
Add(Timer,9219229,371,280)
{
Interval=4000
link(onTimer,874649:doEvent1,[])
}
Add(Hub,874649,427,280)
{
link(onEvent1,1173873:doWinInfo,[(448,286)(448,237)])
link(onEvent2,15095381:doData,[])
}
Add(DoData,15095381,469,287)
{
link(onEventData,5193008:doMessage,[])
link(Data,1173873:IsZoomed,[])
}
Add(Message,5193008,539,287)
{
}



Редактировалось 1 раз(а), последний 2019-01-23 17:04:14
карма: 0

0
Ответов: 537
Рейтинг: 14
#4: 2019-01-23 18:23:40 ЛС | профиль | цитата
Этот вопрос не ко мне, а к главным
карма: 4

0
Ответов: 204
Рейтинг: 2
#5: 2019-01-23 22:52:48 ЛС | профиль | цитата
BaseD писал(а):
Не совсем правильно работает, при сворачивании состояние все равно 1, а я так понял, должно быть 0.


Работает вне родительской формы. Допустим с дочерним окном всё отображает правильно. Почему так не знаю, но вот так! )))



Add(MainForm,11597647,301,350)
{
Point(Handle)
}
Add(WinInfo,1173873,392,455)
{
Point(IsZoomed)
link(onWinInfo,15095381:doData,[(439,461)(439,498)(394,498)(394,517)])
link(Handle,14382743:Var1,[])
}
Add(Timer,9219229,343,455)
{
Interval=125
link(onTimer,1173873:doWinInfo,[])
}
Add(DoData,15095381,406,511)
{
link(onEventData,15183637:doText,[])
link(Data,1173873:IsZoomed,[])
}
Add(ChildForm,14382743,392,392)
{
}
BEGIN_SDK
Add(EditMulti,7362183,21,21)
{
VarCount=1
link(Var1,1721583:Handle,[(27,151)(146,151)])
}
Add(MainForm,1721583,140,49)
{
Left=35
Top=105
Width=350
Height=144
Color=4227072
Point(Handle)
}
END_SDK
Add(Label,15183637,455,511)
{
Left=160
Top=115
}

карма: 1

0
Ответов: 44
Рейтинг: 0
#6: 2019-01-24 10:09:23 ЛС | профиль | цитата
Можно еще вот так:
Add(MainForm,11597647,532,231)
{
Point(Handle)
Point(onHide)
}
Add(WinInfo,1173873,532,287)
{
Point(IsVisible)
link(onWinInfo,15095381:doData,[(579,293)(579,330)(534,330)(534,349)])
link(Handle,11597647:Handle,[])
}
Add(DoData,15095381,546,343)
{
link(onEventData,4402822:doMessage,[])
link(Data,1173873:IsVisible,[])
}
Add(Timer,9219229,483,287)
{
Interval=4000
link(onTimer,1173873:doWinInfo,[])
}
Add(Message,4402822,616,343)
{
}


карма: 0

0
Ответов: 1925
Рейтинг: 172
#7: 2019-01-24 18:33:54 ЛС | профиль | цитата
BaseD писал(а):
при сворачивании состояние все равно 1, а я так понял, должно быть 0.

Проблема в ф-ции IsIconic. https://stackoverflow.com/questions/26352976/isiconic-always-return-false-and-openicon-never-open-the-window/26374237#26374237

Но события в нашем KOLе тоже фигня. Вот простой кодик:

Add(MainForm,11597647,308,140)
{
Point(Handle)
Point(PHandle)
}
Add(Message,5193008,364,196)
{
}
Add(InlineCode,5530690,315,196)
{
EventPoints=#10:OnMinimize|10:OnMaximize|9:OnRestore|
DataPoints=#7:PHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|19: procedure Init;|39: procedure _OnMinimize(Sender:PObj);|39: procedure _OnMaximize(Sender:PObj);|38: procedure _OnRestore(Sender:PObj);|9: public|22: PHandle:THI_Event;|25: OnMinimize:THI_Event;|25: OnMaximize:THI_Event;|24: OnRestore:THI_Event;|23: constructor Create;|5: end;|0:|14:implementation|0:|31:constructor THiAsmClass.Create;|5:begin|18: inherited Create;|15: InitAdd(Init);|4:end;|0:|27:procedure THiAsmClass.Init;|15:var c:PControl;|5:begin|40: c := PControl(ToIntegerEvent(PHandle));|29: c.OnMinimize := _OnMinimize;|29: c.OnMaximize := _OnMaximize;|27: c.OnRestore := _OnRestore;|4:end;|0:|34:procedure THiAsmClass._OnMinimize;|5:begin|25: _hi_OnEvent(OnMinimize);|4:end;|0:|34:procedure THiAsmClass._OnMaximize;|5:begin|25: _hi_OnEvent(OnMaximize);|4:end;|0:|33:procedure THiAsmClass._OnRestore;|5:begin|24: _hi_OnEvent(OnRestore);|4:end;|0:|4:end.|
link(PHandle,11597647:PHandle,[])
link(OnMinimize,5193008:doMessage,[])
}

На клик по кнопке в панели задач не реагирует, на двойной клик по заголовку (развёртывание) не реагирует, на восстановление из свёрнутого тоже реакции 0. Чудо в перьях, в общем. Наверное, Dilma в своё время из-за этого эти события и не добавил в компоненты.
карма: 9
0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)