|
Графики и рисуване
Когато потребителят щракне с бутона на мишката върху формата или върху компонент в нея, Windows изпраща на приложението няколко съобщения. В Delphi са дефинирани няколко събития за обработване на такива съобщения: OnMouseDown Получава се, когато е натиснат единия бутон на мишката. CODE
Параметърът Button показва кой от трите бутона на мишката е бил натиснат. Възможните стойности са mbRight, mbLeft, mbCenter. Shift показва кои от свързаните с мишката клавиши (Alt, Ctrl, Shift и самите бутони на мишката) са били натиснати при генерирането на събитието. X и Y показват клиентските координати на позицията на мишката. OnMouseUp Получава се, когато е отпуснат единия бутон на мишката. OnMouseMove Получава се когато мишката се премества. Събитието OnClick се получава, когато левият бутон на мишката е натиснат и отпуснат върху един и същ компонент или прозорец. Пример: CODE
За да чертаем във формата използваме нейното свойство Canvas, което задава поле за рисуване. Canvas е обект от тип TCanvas. Той съдържа набор от средства за рисуване (молив, четка и шрифт) и има методи за рисуване, които използват текущите средства за рисуване. Средствата за рисуване са GDI (Graphics Device Interface) обекти: Brush Свойството Brush (четка) определя цвета на областта, затворена в контур. Четката се използва за запълване на затворени фигури. Нейни свойства са Color (цвят) и Style (стил). Pen Свойството Pen (писалка) определя цвета и размера на линиите и границите на геометрични обекти. Писалката има следните свойства: Color (цвят), Width (ширина) и Style (стил), който включва няколко вида прекъснати линии. Font Свойството Font (шрифт) определя шрифта, който ще се използва при извеждане на текст върху формата с помощта на метода TextOut на класа TCanvas. Шрифтът има свойства Name (име), Size (размер) и Style (стил). Можете да четете текущата позиция на писалката чрез свойството PenPos, което е от тип TPoint: CODE
CODE
За да изчертаете правоъгълник със заоблени върхове, използвайте метода RoundRect: CODE
Сега да изброим графичните компоненти : PaintBox Компонентът PaintBox се използва, когато искате да рисувате в определена област от формата и тази област може да бъде премествана. Той може да бъде поставен върху всеки друг контрол във формата. Компонентът PaintBox не се базира на прозорец, поради което използва родителския си контрол. Shape Компонентът Shape използвайте, за да рисувате графични обекти на екрана. Image Компонентът Image използвайте, за да визуализирате съществуващо bitmap изображение, да го заредите от файл или да рисувате в него. Той може да зарежда файлове, съдържащи икони (.ico), bitmap изображения (BMP) или метафайлове (WMF). Метафайловете се срещат по-рядко. Те са набор от графични команди, необходими за пресъздаване на изображението, и често се наричат векторни графики. Обикновено BMP файловете са много големи, тъй като поддържат ограничена форма на компресия. Ето защо за компресирани изображения се използва формата JPEG. DrawGrid Компонентът DrawGrid е подобен на компонента StringGrid. Всъщност класа TStringGrid е наследник на класа TDrawGrid. Този компонент не съхранява данни, а просто ги визуализира. ColorGrid Компонентът ColorGrid предоставя възможност за интерактивен избор на цвят за рисуване и цвят на фона. За целта се използват свойствата ForegroundColor и BackgroundColor. Стойностите на тези свойства можете директно да присвоите на свойството Color в други обекти. Bevel Компонентът Bevel се използва за създаване на рамки, линии или ограничени пространства върху формата в зависимост от свойството Shape. Стойността на свойството Style определя дали компонентът ще бъде изпъкнал или вдлъбнат. Outline Компонентът Outline е прозорец, който визуализира списък от елементи под формата на дървовидна структура. Всеки елемент от дървото има етикет и набор от възможни BMP изображения. Достъп до елементите получавате посредством свойството Lines, което е от тип TStrings. Възможно е един елемент да притежава списък от поделементи. Можете да добавяте елементи и поделементи в режим на изпълнение на програмата като използвате методите Add и AddChild: CODE
ScrollBar Компонентът ScrollBar представлява позиционна линия, която рядко се използва самостоятелно. Обикновено позиционните линии се асоциират с други компоненти като списъци, текстови полета и др. ScrollBox Компонентът ScrollBox се използва за създаването на скролиращи области на формата, много по-малки от самата нея. Някои контроли като ListBox и Memo могат автоматично да скролират своето съдържание. Други обаче имат нужда да бъдат скролирани чрез задаване на скролиращи области посредством ScrollBox компонента. TabSet Компонентът TabSet ви дава възможност да създадете група от свързани етикети. Достъп до тях получавате чрез свойството Tabs от тип TStrings. Обикновено този компонент се използва съвместно с компонента Notebook. Notebook Компонентът Notebook се използва за създаване на няколко страници. Определянето на активната страница става посредством свойството PageIndex. Именета на страниците се задават от свойството Pages. TabbedNotebook Когато трябва да покажете по-голямо количество информация на формата, можете да използвате множество страници. Използвайки етикетите на страниците потребителят може да избере една от тях.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









