Вопрос: Как поместить прозрачную фоновую каринку на компонент CoolBar? Ответ: procedure TForm1.Button1Click(Sender: TObject); var Bm1 : TBitmap; Bm2 : TBitmap; Read the rest of this entry »
Тэги ‘Brush’
Вопрос: Как очистить содержимое Canvas'а? Ответ: Просто нарисуйте прямоугольник любого цвета. Пример: Canvas.Brush.Color := ClWhite; Canvas.FillRect(Canvas.ClipRect);
Вопрос: Можно ли изменить вид текстового курсора (каретки) edit'а или другого элемента управления Windows? Ответ:
Можно! В примере показано
как создать два цветных “bitmap’а”: “улыбчивый” и “хмурый” и присвоить их курсору
edit’а. Для этого нужно перехватить оконную процедуру edit’а. Чтобы сделать
это заменим адрес оконной процедуры Edit’а нашим собственным, а старую оконную
процедуру будем вызывать по необходимости. Пример показывает “улыбчивый” курсор
при наборе текста и “хмурый” при забое клавишей backspace. Read the rest of this entry »
Как выделить окошко DBGrid другим цветом?
Необходимо обработать событие “OnDrawCellData”. Например для того, чтобы
пометить выбранное окошко красным фоном, необходимо сделать следующее:
procedure TForm1.DBGridDrawDataCell(Sender:TObject; const Rect:TRect; Field:TField; State:TGridDrawState); Read the rest of this entry »
Урок 5: Рисование и закраска
- Обзор
- Графические компоненты
Из данной статьи Вы узнаете о том, какие возможности есть в Delphi
для создания приложений, использующих графику; как использовать компоненты
для отображения картинок; какие средства есть в Delphi для оформления программы.
Кроме того, познакомитесь с важным свойством Canvas, которое предоставляет
доступ к графическому образу объекта на экране.
В стандартную библиотеку визуальных компонент Delphi входит несколько
объектов, с помощью которых можно придать своей программе совершенно оригинальный
вид. Это – TImage (TDBImage), TShape, TBevel.
TImage позволяет
поместить графическое изображение в любое место на форме. Этот объект очень
прост в использовании – выберите его на странице Additional и поместите
в нужное место формы. Собственно картинку можно загрузить во время дизайна
в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться
в файле в формате BMP (bitmap), WMF (Windows Meta
File) или ICO (icon).
(TDBImage отображает картинку, хранящуюся в таблице в поле типа BLOB. При
этом доступен только формат BMP.)
Как известно, форматов хранения
изображений гораздо больше трех вышеназванных (например, наиболее известны
PCX, GIF, TIFF, JPEG). Для включения в программу изображений в этих форматах
нужно либо перевести их в формат BMP, либо найти библиотеки третьих фирм,
в которых есть аналог TImage, “понимающий” данные форматы (есть как VBX
объекты, так и “родные” объекты для Delphi).
При проектировании следует
помнить, что изображение, помещенное на форму во время дизайна, включается
в файл .DPR и затем прикомпилируется к EXE файлу. Поэтому такой EXE файл
может получиться достаточно большой. Как альтернативу можно рассмотреть
загрузку картинки во время выполнения программы, для этого у свойства Picture
(которое является объектом со своим набором свойств и методов) есть специальный
метод LoadFromFile. Это делается, например, так:
if OpenDialog1.Execute then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
Важными являются свойства
объекта Center и Stretch – оба имеют булевский тип. Если Center установлено
в True, то центр изображения будет совмещаться с центром объекта TImage.
Если Stretch установлено в True, то изображение будет сжиматься или растягиваться
таким образом, чтобы заполнить весь объект TImage.
TShape - простейшие
графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается
в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush
задает цвет и вид заполнения объекта. Эти свойства можно менять как во
время дизайна, так и во время выполнения программы.
TBevel – объект
для украшения программы, может принимать вид рамки или линии. Объект предоставляет
меньше возможностей по сравнению с TPanel, но не занимает ресурсов. Внешний
вид указывается с помощью свойств Shape и Style. Read the rest of this entry »