-
Собственно, сабж. Формы должны существовать от начала до конца.SetWindowLong(Applet.Handle, GWL_EXSTYLE, not WS_EX_APPWINDOW);
SetWindowLong(MainForm.Handle, GWL_EXSTYLE, GetWindowLong(MainForm.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
дал то, что в таскбаре отображается кнопка главной формы, а не Applet'а. Как и в VCL при MainFormOnTaskbar, но свойства для нормальной минимизации и восстановления надо в false.
Однако мигание это всё не дало. -
Такой код также вызывает непонятную реакцию главного окна, дочерное окно получается как бы наполовину почему то модальным (а хочется не модального), главное окно и вовсе работает черт знает как)program Project9;
uses KOL;
{-$R *.res}
var
f: PControl;
procedure FormShowProc;
begin
f:=NewForm(Applet, 'заголовок формы2' );
f.ShowModalParented(Applet);
// ShowMessage('sdfsdf');
end;
begin
Applet := NewForm( nil, 'заголовок формы1' );
Applet.OnShow:=TOnEvent(MakeMethod( nil, @FormShowProc ) );
Run( Applet );
end.
П.С. сори за глупый вопрос, как же всетаки корректно в рантайме создать SDI-окно?
проявляется на версиях: кол 3.18, 3.21, на других не проверял -
f.Show;
- поправка -
накопал наконецто!!!program Project9;
uses KOL;
{-$R *.res}
var
f: PControl;
procedure FormShowProc;
begin
f:=NewForm(Applet, 'заголовок формы2' );
f.Show;
// ShowMessage('sdfsdf');
end;
begin
Applet := NewApplet('Плеер');
//Applet :=
NewForm( Applet, 'заголовок формы1' );
Applet.OnShow:=TOnEvent(MakeMethod( nil, @FormShowProc ) );
Run( Applet );
end.
документация, страница 130 !!!
очень не очевидно оказалось что если форм больше одной то нужно запускать аплет а не форму!