13.01.2015 Views

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Canvas–>LineTo (ClientWidth, 0);<br />

}<br />

20<br />

А<strong>на</strong>логичную задачу можно решить в элементе управления PaintBox по событию<br />

PainBoxPaint.<br />

Во втором примере обработчик события, связанного с <strong>на</strong>жатием кнопки,<br />

формирует диалог для вставки объекта OLE:<br />

void _ _fastcall TModalForm::Button1Click (TObject *Sender) {<br />

OleContainer1–>InsertObjectDialog();<br />

}<br />

Третий пример демонстрирует использование компонента Clipboard<br />

для копирования содержимого одного объекта Image в другой:<br />

#include <br />

void _ _fastcall TForm1::BitBtn1Click (TObject *Sender) {<br />

Image1–>Picture–>LoadFromFile ("d:/val/scan.bmp");<br />

Clipboard()–>Assign (Image1–>Picture);<br />

Image2–>Picture–>Bitmap–>Assign (Clipboard ());<br />

}<br />

Компонент Image способен самостоятельно обновляться. Он является<br />

удобным средством ускоренного отображения графики в форме: достаточно<br />

создать скрытый вариант Image и копировать его в канву формы по событию<br />

OnPaint:<br />

void _ _fastcall TForm1::FormPaint (TObject *Sender) {<br />

this–>Canvas–>CopyRect (ClientRect,<br />

Image1–>Canvas, Image1–>ClientRect);<br />

}<br />

Исключения<br />

C++Builder поддерживает стандартный механизм обработки исключений<br />

(exception), то есть ошибок, которые могут возникнуть при выполнении<br />

программы (<strong>на</strong>пример, при делении <strong>на</strong> нуль или <strong>на</strong>рушении обслуживания<br />

потоков). При встрече с ненормальной ситуацией он может передать управление<br />

другой части программы, продолжить ее выполнение либо завершить<br />

работу. Обычно определяют обработчик исключения (exception handler), выполняющий<br />

необходимые действия перед завершением программы. Блоки<br />

кода, генерирующие исключения, <strong>на</strong>чи<strong>на</strong>ются словом try и заключаются в

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!