
- •Що таке файл?
- •Коли і навіщо треба використати файли?
- •Як описати файлові змінні?
- •Як встановити зв'язок між файловою змінною і самим фалом?
- •Як створити, відкрити, зберегти і закрити файл?
- •Як використати або змінити вміст файлу?
- •Малюнок 1. Палітра візуальних компонент Delphi містить закладки сторінок, що організують компоненти у категорії.
- •Стандартні компоненти
- •40 1. Загальна характеристика
- •2. Управляючі кнопки Button і BitBtn
- •3. Кнопка з фіксацією SpcedButton
- •5. Індикатори CheckBox і CheckListBox
- •6. Повзунки і смуги прокрутки — компоненти TrackBar і ScrollBar
- •3.7.8 Таймер — компонент Timer
- •Інструментальна панель ToolBar.
- •PageScroller - прокручування сторінок
- •Список зображень - компонентів ImageList (панель Additional).
- •Смуга стану StatusBar.
2. Управляючі кнопки Button і BitBtn
Більшість властивостей, методів і подій у цих видів кнопок однакові. Основна з погляду зовнішнього вигляду властивість кнопки — Caption (напис). У написах кнопок можна передбачати використовування клавіш прискореного доступу, виділяючи для цього один з символів напису. Перед символом, який повинен відповідати клавіші прискореного доступу, ставиться символ амперсанта "&". Цей символ не з'являється в написі, а наступний за ним символ стає підкресленим. Тоді користувач може замість клацання на кнопці натиснутиу будь-який момент клавішу Alt сумісно з клавішею виділеного символу. Наприклад, якщо у вашому додатку є кнопка виконання якоїсь операції, ви можете задати її властивість Caption рівним «Виконати». На кнопці цей напис матиме вигляд «Виконати». І якщо користувач натисне клавіші Alt-B, то це буде еквівалентне клацанню на кнопці. Основна подія будь-якої кнопки — OnClick, виникаюче при клацанні на ній. Саме в обробнику цієї події записуються оператори, які повинні виконуватися при клацанні користувача на кнопці. Крім цього є ще ряд подій, пов'язаних з різними маніпуляціями клавішами і кнопками миші. Писати обробник події OnClick треба, якщо ви не зв'язуєте властивістю Action дану кнопку з якоюсь дією. Властивість Cancel, якщо встановити його в true, визначає, що натиснення користувачем клавіші Esc буде еквівалентне клацанню на даній кнопці.
Це властивість доцільно задавати рівним true для кнопок Відмінити в різних діалогових вікнах, щоб можна було вийти з діалогу, натиснувши на цю кнопку або натиснувши клавішу Esc.
Властивість Default, якщо його встановити в true, визначає, що натиснення користувачем клавіші введення Enter буде еквівалентне натисненню на дану кнопку, навіть якщо дана кнопка у цей момент не знаходиться у фокусі. Зображення на кнопці BitBtn задається властивістю Glyph. При натисненні кнопки з багатокрапкою в рядку властивості Glyph в Інспекторі Об'єктів викликається вікно. Натиснувши в ньому кнопку Load, ви перейдете в звичне вікно відкриття файлу малюнка і можете вибрати файл бітової матриці .bmp, що містить бажане зображення. Зокрема, з C+4-Builder поставляється велика кількість зображень для кнопок. Вони розташовані в каталозі \lmages\Buttons, а сам каталог Images в C++ Builder звичайно розташований в каталозі ...\Program Files\Common Files\ Розташування зображення і напису на кнопці визначається властивостями
Margin, Layout і Spacing. Ще одна властивість BitBtn — властивість Kind визначає тип кнопки. По замовчуванні значення цієї властивості рівне bkCustom — замовлена. Але можна встановити і безліч інших приречених типів: bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklgnore, bkAll. У цих типах вже зроблені відповідні написи, введені піктограми, задані ще деякі властивості.
3. Кнопка з фіксацією SpcedButton
Кнопки SpcedButton мають нагоду відображення піктограм і можуть використовуватися як звичні управляючі кнопки або як кнопки з фіксацією натиснутого стану (див. на мал. 3.32). Звичайно вони використовуються як бистрих кнопок, що дублюють різні команди меню, і в інструментальних панелях, в яких потрібна фіксація натиснутого стану.
4. Групи радіокнопок — компоненти RadioGroup,
RadioButton і GroupBox
Радіокнопки утворюють групи взаємозв'язаних індикаторів, з яких звичайно може бути вибраний тільки один. Вони використовуються для вибору користувачем однієї з декількох взаємовиключних альтернатив, наприклад, відділу, у якому працює співробітник. Втім, радіокнопки можуть використовуватися не тільки для вибору, але і для відображення аналогічних даних.
Почнемо розгляд радіокнопок з компоненту RadioGroup — панелі групи радіокнопок. Це панель, яка може містити регулярно розташовані стовпцями і рядками радіокнопки. Напис в лівому верхньому кутку плели визначається властивістю Caption. А написи кнопок і їх кількість визначаються властивістю Items, що має тип TStrings. Клацнувши на кнопці з многоточіям біля цієї властивості у вікні Інспектора Об'єктів, ви потрапите в редактора списків рядків, який вже розглядався нами в розділі. У ньому ви можете занести написи, які хочете бачити біля кнопок, по одній в рядку. Визначити, яку з кнопок вибрав користувач, можна по властивості Itemlndex, яке показує індекс вибраної кнопки.
Індекси, як завжди у C++ Builder, починаються з 0. За умовчанням Itemlndex = -1, що означає відсутність вибраної кнопки. Якщо ви хочете, щоб у момент початку виконання додатки якась з кнопок була вибрана (це практично завжди необхідно), то треба встановити відповідне значення Itemlndex під час проектування. Якщо ви використовуєте радіокнопки не для введення, а для відображення даних, встановлювати значення Itemlndex можна програмно під час виконання додатки.Компонент RadioGroup дуже зручний, але не вільний від деяких недостатків. Його добре використовувати, якщо написи кнопок мають приблизно однаковудовжину і якщо число кнопок в кожному стовпці (при розміщенні їх в декількох стовпцях) однаково. Окрема радіокнопка RadioButton особливого значення не має, хоча і може служити індикатором, користувачем, що включається і вимикається. Але в якості індикаторів звичайно використовуються інші компоненти — CheckBox.
Розглянемо властивості радіокнопки RadioButton. Властивість Caption містить напис, що з'являється біля кнопки. Значення властивості Alignment визначає, з якого боку від кнопки з'явиться напис: taLeftJustify — зліва, taRightJustify — справа (це значення прийняте за умовчанням). Властивість Checked визначає, вибрана дана кнопка користувачем, чи ні.