Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Вниз

Как обновить содержимое Form2 из Form1 


iea   (2002-03-04 11:02) [0]

Уважаемые Мастера! Я создаю Form1, которая вызывает Form2. Требуется: при нажатии на кнопку в Form2 "Применить" перерисовать Form1, НЕ ЗАКРЫВАЯ Form2. Какое сообщение надо передать Form1? И если не затруднит, приведите, пожалуйста пример.



iea   (2002-03-04 11:05) [1]

Извините, вопрос не совсем точно сформулирован.
Правильно: как обновить содержимое Form1 из Form2?



Андрей Сенченко   (2002-03-04 11:06) [2]

Не надо никаких сообщений на мой взгляд. Просто ставишь в UNIT2
USES
UNIT1
И в процедуре обработки нажатия кнопки на Form2 пишешь
Form1.Repaint // ( или чего Ты там запланировал )



Sasha9   (2002-03-04 11:08) [3]

Form1.Refresh/Repaint/Update



Alx2   (2002-03-04 11:11) [4]

Или Form1.Invalidate :)



iea   (2002-03-04 11:34) [5]

Не совсем так :(


Для наглядного образца: сама IDE Delphi. Можно вызвать настройку редактора, изменить фонты, цвета и т.д., и применить к самому редактору, не закрывая самой же настройки.

Вопрос стоит так:

В Form1 стоит uses Form2
Из Form1 вызываю Form2. Произвожу манипуляции. Надо: не закрывая Form2, применить изменения к Form1. Как это сделать? Вариант с закрытием Form2 реализован. А без закрытия? Нельзя же из Form2 вызывать, например, метод Form1.ChanhePaint (выдуманный). Быть может, послать сообщение?



Alx2   (2002-03-04 11:41) [6]

>Нельзя же из Form2 вызывать, например, метод Form1.ChanhePaint
Почему? Можно.

Есть другой вариант: перед показом Form2 заполняешь ее поле (заранее созданное поле типа TForm1) Form2.UpdateToForm:=Form1;
Потом, в обработчике на кнопке "Применить" Form2 пишешь UpdateToForm.ChanhePaint



iea   (2002-03-04 11:52) [7]

Спасибо. Хочу уточнить:

Есть Form1. Назовем ее мамой. И есть Form2 - это дочка. И когда я вызываю Form2, она может обращаться к свойствам и методам Form1? Просто меня это удивляет, ибо получаем кольцеобразные ссылки, т.к. ранее в Form1 есть ссылка на Form2 в виде uses. А чтобы вызвать метод или свойство Form1 из Form2, в Form2 надо сослаться на Form1. Разве это возможно? Понятно, что мама ссылается на дочку, но может ли дочка ссылаться на маму?



Alx2   (2002-03-04 12:05) [8]

Может.
Просто второй модуль подключи в uses после implementation



lipskiy   (2002-03-04 15:38) [9]

Любая форма может ссылаться на любую, и при некорректно построенном коде реально можно зациклиться :) За этим надо следить самому.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.021 c
1-57360           valery_f              2002-03-04 13:27  2002.03.18  
Shell controls (D6)


3-57273           Gromozeka             2002-02-15 07:13  2002.03.18  
FormCreate


1-57444           lipskiy               2002-03-04 00:52  2002.03.18  
Подкомпилированные ресурсы занимают место в памяти?


1-57433           Hewlping              2002-02-28 21:08  2002.03.18  
ПОМОГИТЕ СРОЧНО


7-57546           DNT                   2001-12-16 20:09  2002.03.18  
Биос + температура процессора + обороты вентилятора