Рисунок 1. Форма программы "Слайд-шоу"
Таблица 4. Значения свойств компонента PictureBox
Свойство
|
Значение
|
Dock
|
Fill
|
SizeMode
|
Zoom
|
private:
String^ aPath; // путь к файлам иллюстраций
// список иллюстраций — список строк
System::Collections::Generic::List ^imgList;
int cImg; // номер (в списке) отображаемой иллюстрации
// конструктор
Form1(void)
{
InitializeComponent();
// получить имя каталога "Мои рисунки"
DirectoryInfo^ di; // каталог
di = gcnew DirectoryInfo(Environment::GetFolderPath( Environment::SpecialFolder::MyPictures));
aPath = di->FullName; this->Text = aPath;
imgList = gcnew System::Collections::Generic::List;
// сформировать список иллюстраций
FillList(aPath);
}
private: void ShowPicture(String^ aPicture) {
pictureBox1->Image = gcnew Bitmap(aPath + "\\" +imgList[cImg]);
this->Text = "Слайд-шоу: " + aPath + "\\" + imgList[cImg];
pictureBox1->Visible = true;
}
private: System::Boolean FillList(String^ aPath) {
// информация о каталоге
DirectoryInfo^ di = gcnew DirectoryInfo(aPath);
// информация о файлах
array ^fi = di->GetFiles("*.jpg");
// очистить список
imgList->Clear();
button2->Enabled = true; button3->Enabled = true;
// Добавляем в список имена jpg-файлов, содержащихся в каталоге aPath
for each (FileInfo^ fc in fi) {
imgList->Add(fc->Name);
}
this->Text = aPath;
if (imgList->Count == 0)
return false; else
{
cImg = 0;
ShowPicture(aPath + "\\" + imgList[cImg]);
// сделать недоступной кнопку Предыдущая
button2->Enabled = false;
// Если в каталоге один jpg-файл, сделать недоступной кнопку Следующая
if (imgList->Count == 1) button3->Enabled = false;
this->Text = "Слайд-шоу: " + aPath + "\\" + imgList[cImg];
return true;
}
}
// щелчок на кнопке Папка
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
// FolderBrowserDialog — окно Обзор папок
FolderBrowserDialog^ fb = gcnew FolderBrowserDialog();
fb->Description = "Выберите папку,\n" + "в которой находятся иллюстрации"; fb->ShowNewFolderButton = false;
fb->SelectedPath = aPath;
// Отобразить окно Обзор папок и проверить, щелчком на какой кнопке пользователь закрыл его
if (fb->ShowDialog() == System::Windows::Forms::DialogResult::OK) {
// пользователь выбрал каталог и щелкнул на кнопке OK
aPath = fb->SelectedPath;
this->Text = aPath;
if (!FillList(fb->SelectedPath))
// в каталоге нет файлов иллюстраций
pictureBox1->Image = nullptr;
}
}
// щелчок на кнопке Предыдущая
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
// если кнопка Следующая недоступна, сделаем ее доступной
if (!button3->Enabled) button3->Enabled = true;
if (cImg > 0) {
cImg--;
ShowPicture(aPath + "\\" + imgList[cImg]);
// отображается первая иллюстрация
if (cImg == 0) {
// теперь кнопка Предыдущая недоступна
button2->Enabled = false;
}
}
}
// щелчок на кнопке Следующая
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
if (!button2->Enabled) button2->Enabled = true;
If (cImg < imgList->Count) {
cImg++;
ShowPicture(aPath + "\\" + imgList[cImg]);
IF (cImg == imgList->Count -1) {
button3->Enabled = false;
}
}
}
Элемент управления Chart
Элемент управления Chart позволяет создавать диаграммы для сложного статистического или финансового анализа. Этот элемент поддерживает следующие функциональные возможности:
ряды данных, области диаграммы, оси, условные обозначения, метки и заголовки;
привязку данных;
операции с данными: копирование, разбиение, слияние, выравнивание, группирование, сортировку, поиск, фильтрацию и т. д.;
статистические и финансовые формулы;
расширенную настройку внешнего вида диаграммы: трехмерную графику, сглаживание, освещение и перспективу;
события и индивидуальную настройку.
С помощью компонента Chart (чертеж) удобнее всего выполнять построение графиков функции по уравнению на промежутке.
Построение графика функции:
нужно добавить компонент Chart на форму;
щелкнуть левой кнопкой по пункту «Series» окна «Свойства» (рис. 2);
Рисунок 2 – Окно «Свойства»
в результате увидим окно редактора коллекции Series (рис. 3);
Рисунок 3 – Диалоговое окно «Редактор коллекции Series»
чтобы на одном компоненте Chart построить несколько графиков функции, нужно выбрать страницу Series (левая часть окна) и щелкнуть по кнопке Добавить (если нужно построить несколько графиков на одной координатной плоскости, то нужно сделать соответствующее количество Series);
в правой части окна для каждой Series можно сделать индивидуальные настройки, основные из них:
ChartType – тип диаграммы для представления данных;
XValueType – тип значений, хранимых на оси ОХ;
YValueType – тип значений, хранимых на оси ОY;
Color – цвет точки данных;
BorderColor – задает цвет границ;
ShadowColor – задает цвет тени;
Font – шрифт точки данных;
LabelBackColor – задает цвет фона метки;
LabelForeColor – задает цвет метки;
IsVisibleInLegend – включает/выключает отображение легенды;
Многие из этих параметров можно также задавать программно, например:
Series^ plot1 = chart1->Series [0];
if (colorDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK)
plot1-> Color = colorDialog1-> Color;
В данном случае изменяется цвет графика функции при выборе цвета в диалоговом окне «ColorDialog».
Если графики функций нужно распечатать, то на черно-белом принтере линии будут неразличимыми. В этом случае нужно использовать возможности страницы Series и из списка опций BorderdashStyle выбрать другую прорисовку линии (например, точками) или в опции BorderWidth выбрать большую толщину линии (по умолчанию стоит значение 1).
Свойства элемента управления Chart
Основные свойства элемента управления Chart отображены в таблице 5.
Таблица 5 – Основные свойства Chart
Достарыңызбен бөлісу: |