|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Обновление моей формы из dll при обновлении главной формы
сабж
Обновление моей формы из dll при обновлении главной формы Задача: Есть программа, в которой есть возможность подключать свои скрипты на внутреннем языке. Программа MDI в этой программе есть графике которые обновляются 100 раз в секунду, графиков может быть много. Я узнал хендл графика - прицепил на график длл и из длл притянул на этот график форму, сделал у нее родителя - окно графика - форма появилась и сразу же исчезла. код формы: Код:
procedure ShowForm(Appl: THandle); begin Application.Handle := Appl; A:=Appl; Form1:=TForm1.Create(Application); Form1.Parent:=FindControl(Appl); Form1.Parentwindow:=Appl; // InvalidateRect( Form1.Handle, NIL, FALSE ) ; Form1.Show;// application.ProcessMessages(); //SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE); end; Дело в том что когда я пытался сделать модальную форму - все норм форма поверх окна с графиком но когда открываю 2 график моя форма не привязана к графику на котором я ее запустил. Т.е. мне нужно: Запустить форму на другом приложении - не моем - как плагин, только на 4каждом графике отдельном чтобы была своя форма, т.е. все действия с родительской формой проходили так же и с моей. Как я понял - главная родительская форма постоянно обновляется из за этого моя форма просто не видна, она исчезает, если тупо схватить мою форму за границу то она появляется. - отпускаешь она мерцает. Что подскажите? ---------------------------------------------------------- попробовал сделать так: Код:
procedure ShowForm(Appl: THandle); begin Application.Handle := Appl; A:=Appl; Form1:=TForm1.Create(Application); Form1.Show; application.ProcessMessages(); end; форма появилась на окне на котором я ее запустил, не мерцает, но - когда открываю второй график(документ) моя форма поверх всех окон в программе ----------------------------------------------------------------------------------- у меня получилось так открываю свою форму на графике: Копия 09.03.jpg Но перехожу на 2 график - моя форма поверх всех окон. картинки приложил Копия 09.032.jpg Последний раз редактировалось expforex, 09.03.2011 в 22:37. |