Вставьте перекрестные ссылки между формами

Пусть форма Form1 содержит компонент Label1 для отображения текста. Необходимо создать форму Form2, в которой с помощью Edit1 и кнопок Ok, Apply изменять содержимое Label1 на форме Form1.

– Создайте приложение. Создайте еще одну форму Form2. Разместите на них компоненты, как показано на рис. 1.

           

Рис. 1. Базовая форма (слева) и форма свойств (справа)

– Вставьте перекрестные ссылки между формами: в Unit1.cpp добавьте #includeunit2.h”, в Unit2.cpp – #includeunit1.h”.

– Добавьте обработчик кнопки «Property»: Form2->ShowModal(); Это приведет к модальному отображению второй формы (пока Form2 не будет закрыта, Form1 останется недоступной).

– Добавьте обработчик события onActivate для Form2: Edit1->Text=Form1->Label1->Caption; Это приведет к тому, что при появлении формы Form2 в текстовое поле будет занесено текущее значение из Label1.

– Добавьте в обработчик кнопки «Apply» действие для обновления содержимого Label1: Form1->Label1->Caption=Edit1->Text;

– Добавьте в обработчик кнопки «Ok» действие для закрытия Form2: ModalResult=mrOk; При присвоении флагу ModalResult ненулевого положительного значения приводит к закрытию формы, если она была вызвана методом ShowModal. В данном случае константа mrOk соответствует нажатию на кнопку «Ok». Внимание! Перед тем, как закрыть окно, установите содержимое Label1 аналогично предыдущему пункту.

– Итак, после нажатия кнопки «Property» на основной форме появляется вторая форма. Нажатие «Apply» приводит к изменению Label1->Caption в соответствии с Edit1->Text, причем форма Form2 не закрывается. Нажатие «Ok» приводит к аналогичному изменению Edit1->Text, но с последующим закрытием Form2.

2. Компонент TChart для отображения графиков.

– Добавьте на форму компонент TChartс панели «Additional». Щелкните дважды по компоненту. Добавьте кривую FastLine (кнопка «Add») График может содержать несколько кривых. Рассмотрите также вариант кривой Point. На вкладке «Legend» отключите легенду, на вкладке «3D» – откл. трехмерное представление. В конструктор формы добавьте строки:

Chart1->Series[0]->AddXY(0,10,””,clRed);

Chart1->Series[0]->AddXY(1,15,””,clRed);

Chart1->Series[0]->AddXY(2,12,””,clRed);

Chart1->Series[0]->AddXY(3,17,””,clRed);

Здесь: Chart1– имя компонента, Series[0] – кривая в компоненте с номером 0, первый и второй аргументы функции AddXY – декартовы координаты X,Y, третий, четвертый – название точки и ее цвет.

Запустите программу, убедитесь в наличии графика функции. Найдите движения мыши, приводящие к масштабированию и смещению графика (выделение окном и правая клавиша мыши).

– доступ к точке графика по ее номеру:

Chart1->Series[0]->XValue[n] – доступ к Х-составляющей точке графика по ее номеру n

Chart1->Series[0]->YValue[n] – доступ к Y-составляющей точке графика по ее номеру n

Chart1->Series[0]->Delete(n) – удалить из графика точку с номером n

Chart1->Series[0]->Clear () – удалить из графика все точки

Chart1->Series[0]->Count() – вычислить количество точек в графике

– по умолчанию при добавлении новой точки/удалении существующей происходит автоматическое масштабирование по осям (Automatic==true для левой LeftAxis и нижней BottomAxis). Для отключения автомасштабирования задаются конкретные макс. и мин. значения:

Chart1->LeftAxis->Automatic = false ;

Chart1->LeftAxis->Maximum   = 1000 ;

Chart1->LeftAxis->Minimum   =    0 ;

Ссылка на основную публикацию
Adblock detector