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.

73<br />

Фрагмент обработчика кнопки перехода <strong>на</strong> следующий файл текущей<br />

папки может быть таким:<br />

if (FindNext (sr) == 0) {<br />

Image1–>Picture–>LoadFromFile (myPath + sr.Name);<br />

Label1–>Caption = sr.Name;<br />

}<br />

В свою очередь, обработчик кнопки поиска файлов открывает стандартное<br />

окно поиска папки с файлами и вновь вызывает функцию отображения<br />

первого файла папки:<br />

if (SelectDirectory ("Выбор папки", "", myPath))<br />

{ myPath += "\\"; FirstPicture (); }<br />

Визуальный компонент Bitmap поддерживает работу с битовыми образами<br />

– небольшими картинками формата .BMP, которыми удобно манипулировать<br />

в памяти компьютера, обращаясь к свойствам (табл. 15) и методам<br />

компонента.<br />

Таблица 15<br />

Свойство<br />

Width, Height<br />

Empty<br />

Transparent<br />

TransparentColor<br />

Canvas<br />

Свойства компонента Bitmap<br />

Наз<strong>на</strong>чение<br />

Шири<strong>на</strong> и высота загружаемой иллюстрации<br />

Приз<strong>на</strong>к отсутствия иллюстрации<br />

Уста<strong>на</strong>вливает «прозрачность», т. е. не отображает цвет, указанный в<br />

свойстве TransparentColor, по умолчанию – цвет нижнего левого<br />

пиксела<br />

Прозрачный цвет, который не выводится <strong>на</strong> экран при установленном<br />

свойстве Transparent<br />

Экран<strong>на</strong>я поверхность для отображения<br />

Следующий пример демонстрирует мультипликацию – движение<br />

битового образа sprite <strong>на</strong> фоне иллюстрации back. Рисование образа по канве<br />

Canvas выполняется методом канвы Draw в событии формы FormPaint по командам<br />

невидимого объекта класса Timer (Interval 100 мс). Коорди<strong>на</strong>ты x, y и<br />

объекты back и sprite созданы как переменные формы:<br />

TForm1 *Form1;<br />

int x, y;<br />

Graphics::TBitmap *back = new Graphics::TBitmap;<br />

Graphics::TBitmap *sprite = new Graphics::TBitmap;<br />

__fastcall TForm1::TForm1 (TComponent* Owner) : TForm (Owner) {<br />

back–>LoadFromFile ("1.bmp");

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

Saved successfully!

Ooh no, something went wrong!