Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые / Язык программирования Сpp 25.09.11.doc
Скачиваний:
114
Добавлен:
10.05.2015
Размер:
10.13 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;

}

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

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