Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования Сpp 25.09.11 (2).doc
Скачиваний:
16
Добавлен:
19.08.2019
Размер:
10.09 Mб
Скачать

Рисование кистью

Канва имеет еще одно свойство: Brush – кисть. Оно определяет фон и заполнение замкнутых фигур. В сою очередь Brush имеет ряд свойств. Свойство Color определяет цвет заполнения. Свойство Style определяет шаблон заполнения (штриховку). Свойство Bitmap определяет нестандартное заполнение заданным шаблоном. Шаблон задается битовой матрицей размером 8х8.

Таблица 3.3. Свойства объекта Brush (кисть)

Свойство

Определяет

Color

Цвет закрашивания замкнутой области

Style

Стиль заполнения области (bsSolid — сплошная заливка.

Штриховка: bsHorizontal — горизонтальная;

bsVertical — вертикальная;

bsFDiagonal — диагональная с наклоном линий вперед;

bsBDiagonal — диагональная с наклоном линий назад;

bsCross — в клетку;

bsDiagCross — диагональная клетка

Создать битовую матрицу можно с помощью графического редактора, описанного выше. Ее следует сохранить в папке вместе с проектом формы. Пусть это будет файл Bitmap1.bmp. Если теперь создать код:

Graphics::TBitmap *BrushBmp=new Graphics::TBitmap;

try{

BrushBmp->LoadFromFile("Bitmap1.bmp");

Form1->Canvas->Brush->Bitmap=BrushBmp;

Form1->Canvas->FillRect(Rect(0,0,Form1->Width,Form1->Height));

}

__finally

{

Form1->Canvas->Brush->Bitmap=NULL;

delete BrushBmp;

}

и поместить его в обработчик событий формы, например, OnClick, то при щелчке по форме она заполнится шаблоном.

Значок на панели задач (компонент TTrayIcon)

Посмотрим, как можно добавить на панель задач свой значок (т. е. значок для нашей программы расположится рядом с системными часами).

Сначала переносим на форму нашего приложения компонент TTrayIcon с вкладки Samples Палитры компонентов.

Этот компонент невизуальный, т. е. он не будет виден на этапе выполнения программы.

Далее разместите на форме еще два компонента - ImageList с вкладки Win32 Палитры компонентов и PopupMenu с вкладки Standard.

Теперь займемся установкой свойств. Сначала добавьте для компонента ImageList одно изображение. Для контекстного меню добавьте два пункта - с заголовками Восстановить и Спрятать соотвественно (для этого надо сделать двойной щелчок на размещенном на нашей форме компоненте контекстного меню). Далее для формы и для компонента TrayIcon установите свойство PopupMenu в PopupMenu1 (именно такое имя получит наше контекстное меню по умолчанию). Кроме того для связывания компонента TrayIcon со списком изображений установите его свойство Icons в ImageList1. Для того, чтобы для нашего значка на панели задач появлялось контекстноем меню, задайте его свойство PopupMenuOn в imRightClickUp (это означает, что оно будет появляться при щелчке правой кнопкой мыши). И, наконец, установите свойство Visible для компонента TrayIcon1 в true.

Теперь надо добавить обработчики для пунктов контекстного меню. Они будут следующие:

void __fastcall TForm1::N1Click(TObject *Sender)

{

// Восстановление формы.

Form1->Visible = true;

TrayIcon1->Restore();

}

void __fastcall TForm1::N2Click(TObject *Sender)

{

// Сокрытие формы.

Form1->Visible = false;

}

Запускаем программу. После запуска мы увидите значок программы рядом с часами. При щелчке на нем правой кнопкой мыши появится контекстное меню.

Его пункты будут работать точно также, как и на форме.