- •Лекція №11
- •Системні діалоги
- •1. Загальна характеристика компонентів діалогів
- •2. Діалоги відкриття і збереження файлів — компоненти OpenDlalog, SaveDlalog, OpenPictureDialog, SavePictureDialog
- •3. Фрагменти діалогів — компоненти DriveComboBox, DirectoryListBox, FilterComboBox, FileListBox і cDirectoryOutline
- •Діалог вибору шрифту — компонент FontDialog
- •Діалоги вибору кольору — компоненти ColorDialog і ColorBox
- •Діалоги друку і установки принтера — компоненти PrintDialog і PrinterSetupDialog
- •Діалоги пошуку і заміни тексту — компоненти FindDialog і ReplaceDialog
Лекція №11
Тема 3. Компоненти бібліотеки C++Builder (продовження)
Системні діалоги
1. Загальна характеристика компонентів діалогів.
2. Діалоги відкриття і збереження файлів — компоненти OpenDlalog, SaveDlalog, OpenPictureDialog, SavePictureDialog.
3. Фрагменти діалогів — компоненти DriveComboBox, DirectoryListBox, FilterComboBox, FileListBox і CDirectoryOutline.
4. Діалог вибору шрифту — компонент FontDialog.
5. Діалоги вибору кольору — компоненти ColorDialog і ColorBox.
6. Діалоги друку і налаштування принтера — компоненти PrintDialog і PrinterSetupDialog.
7. Діалоги пошуку і заміни тексту — компоненти FindDialog і ReplaceDialog.
1. Загальна характеристика компонентів діалогів
У програмах часто доводиться виконувати стандартні дії: відкривати і зберігати файли, задавати атрибути шрифтів, вибирати кольори палітри, проводити контекстний пошук і заміну і т.п.
Розробники C++Builder поклопоталися про те, щоб включити в бібліотеку прості для використання компоненти, що реалізовують відповідні діалогові вікна. Вони розміщені на сторінці Dialogs. Але не завжди нас можуть влаштувати стандартні діалоги. Не дивлячись на те, що в них передбачені достатньо широкі можливості настройки, специфіка програми може вимагати якихось додаткових функцій, які неможливо реалізувати в стандартному діалозі. Тому в C++Builder є компоненти, які можна розглядати як фрагменти діалогових вікон. З них ви можете створювати власні діалоги.
Далі приведений перелік компонентів, що реалізовують стандартні діалоги, і компонентів, на основі яких можна створювати власні спеціалізовані діалогові вікна.
OpenDialog - призначений для створення вікна діалогу «Відкрити файл»;
SaveDialog - призначений для створення вікна діалогу «Зберегти файл»;
OpenPictureDialog - призначений для створення вікна діалогу «Відкрити малюнок», що відкриває графічний файл;
SavePictureDialog - призначений для створення вікна діалогу «Зберегти малюнок»;
FontDialog - призначений для створення вікна діалогу «Шрифти» — вибір атрибутів шрифту;
ColorDialog - призначений для створення вікна діалогу «Колір» — вибір кольору;
PrintDialog - призначений для створення вікна діалогу «Друк»;
PrinterSetupDialog - призначений для створення вікна діалогу «Установка принтера»;
FindDialog - призначений для створення вікна діалогу «Знайти» — контекстний пошук в тексті;
ReplaceDialog - призначений для створення вікна діалогу «Замінити» — контекстна заміна фрагментів тексту;
FileListBox (Win 3.1) - відображує список всіх файлів каталогу;
DirectoryListBox (Win 3.1) - відображує структуру каталогів диска;
DriveComboBox (Win 3.1) - випадний список доступних дисків;
CDirectoryOutline (Samples) - приклад компоненту, для відображення структури каталогів вибраного диска.
Всі діалоги є невізуальними компонентами, так що місце їх розміщення на формі не має значення. При зверненні до цих компонентів викликаються стандартні діалоги, вид яких залежить від версії Windows і настройки системи. Отже при запуску одного і того ж застосування на комп'ютерах з різними системами діалоги виглядатимуть по-різному. Наприклад, при русифікованій версії Windows всі їх написи будуть на російській мові, а при англомовній версії - написи будуть на англійській мові.
Основний метод, яким проводиться звернення до будь-якого діалогу, — Execute. Ця функція відкриває діалогове вікно і, якщо користувач провів в ньому якийсь вибір, то функція повертає true. При цьому у властивостях компоненту — діалогу запам'ятовується вибір користувача, який можна прочитати і використати в подальших операціях. Якщо ж користувач в діалозі натиснув кнопку Відміна або клавішу Esc, то функція Execute повертає false. Тому стандартне звернення до діалогу має вигляд:
if (<имя компоненту - диалога> -> Execute ()) <оператор, що використовує вибір користувача>;