Валерий Борисок - Delphi. Трюки и эффекты

Здесь есть возможность читать онлайн «Валерий Борисок - Delphi. Трюки и эффекты» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Delphi. Трюки и эффекты: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Delphi. Трюки и эффекты»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

«Delphi. Трюки и эффекты», как и все издания данной серии, адресована тем, кто хочет научиться делать с помощью уже знакомых программных пакетов новые, интересные вещи. В первой части книги многое говорится о среде разработки Delphi (самых последних версий) и программировании на языке Object Pascal. Благодаря этому издание подходит и новичкам, и начинающим программистам. Вторая (основная) часть книги описывает удивительные возможности, скрытые в языке, и на примерах учит читателя программистским фокусам – от «мышек-невидимок» и «непослушных окон» до воспроизведения МРЗ и управления офисными программами Word и Excel из приложений Delphi. Купив эту книгу, вы пройдете непростой путь к вершинам программистского мастерства весело и интересно.

Delphi. Трюки и эффекты — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Delphi. Трюки и эффекты», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
...

Листинг 6.13.

Альфа-смешивание нижней области

//нижняя область. Используем альфа = 75 % и переменную исходную альфу

//создаем градиентный эффект, используя исходную альфа

ubRed := $00;

ubGreen := $00;

ubBlue := $ff;

for y := 0 to ulBitmapHeight – 1 do

for x := 0 to ulBitmapWidth – 1 do

begin

ubAlpha := Trunc(x / ulBitmapWidth * 255) and $FF;

fAlphaFactor := ubAlpha / $ff;

r := (Round(ubRed * fAlphaFactor) * (1 shl 16)) and $FF;

g := (Round(ubGreen * fAlphaFactor) * (1 shl 8)) and $FF;

b := Round(ubBlue * fAlphaFactor) and $FF;

PULONG(Integer(pvBits) +

(x + y * ulBitmapWidth) * sizeof(ULONG))^ :=

(ubAlpha shl 24) or //0xaa000000

r or //0x00rr0000

g or //0x0000gg00

b; //0x000000bb

end;

bf.BlendOp := AC_SRC_OVER;

bf.BlendFlags := 0;

bf.AlphaFormat := AC_SRC_ALPHA;

bf.SourceConstantAlpha := $bf;

Windows.AlphaBlend(hdcwnd, ulWindowWidth div 5,

ulWindowHeight div 5 + 2 * ulWindowHeight,

ulBitmapWidth, ulBitmapHeight, hCurDC, 0, 0,

ulBitmapWidth, ulBitmapHeight, bf);

DeleteObject(hbmp);

DeleteDC(hCurDC);

Обработчик события OnPaint нашей формы использует написанную функцию каждый раз, когда требуется ее обновить. Для этого он получает контекст устройства нашей формы, производит заливку фона темно-синим цветом, а после вызывает функцию альфа-смешивания трех областей. Соответствующий исходный код приведен в листинге 6.14.

...

Листинг 6.14.

Обработчик события OnPaint

procedure TfmAlphaBlending.FormPaint(Sender: TObject);

var

hCurDC: HDC;

hCurBrush, hOldBrush: HBRUSH;

begin

hCurDC := GetDC(Handle);

hCurBrush := CreateSolidBrush(RGB(0, 0, 64));

FillRect(hCurDC, Rect(0, 0, Width, Height), hCurBrush);

DrawAlphaBlend(Handle, hCurDC);

DeleteObject(hCurBrush);

ReleaseDC(Handle, hCurDC);

end;

Теперь осталось только взглянуть на результат нашей работы, запустив приложение (рис. 6.4).

Рис. 6.4. Результат работы приложения «Alpha-смешивание точечного рисунка»

На этом закончим рассмотрение работы с графикой в Delphi.

Глава 7 Системная информация и реестр Windows

• Системная информация

• Системное время

• Реестр

Возникала ли у вас необходимость программно определить текущее состояние компьютера или узнать какие-нибудь сведения об операционной системе? Можно только удивляться, как близко – практически «под носом» у программиста – находятся средства для получения системной информации и как сложно о них узнать. Речь идет о средствах, которые всегда доступны при программировании для Windows – функции Windows API.

В данной главе мы рассмотрим некоторые способы, при помощи которых можно «добыть» информацию, касающуюся операционной системы. Это может пригодиться, например, если вы используете в своих приложениях возможности, отличающиеся в различных платформах Windows. Но и не только в этих случаях.

Рассмотренные в данной главе функции Windows API являются самыми обычными во всех смыслах этого слова. Просто они часто упоминаются вскользь либо вообще не упоминаются в книгах для программирования в таких средах, как Borland Delphi.

В примерах представленной вашему вниманию главы, кроме получения информации о самой Windows, некотором оборудовании компьютера, также рассмотрена работа с системным реестром Windows – этакой базой данных, в которой хранится много всего полезного и не очень: от параметров ОС и настроек приложений до сведений о работе компьютера в реальном времени. Правда, по определенным причинам последние сведения хранятся не в реальных, а в виртуальных ключах реестра. Но обо всем по порядку.

7.1. Системная информация

Начнем с несложных примеров, позволяющих получить информацию об операционной системе, установленном на компьютере оборудовании и такие сведения реального времени, как загрузка памяти компьютера, состояние питания и т. д.

Версия операционной системы

Получение сведений об операционной системе хотя и не является повседневной необходимостью, но все же в некоторых специфичных случаях может пригодиться. Например, когда ваша программа ведет себя по-разному при разных установленных обновлениях Windows. Либо когда вы самостоятельно пишете инсталлятор, который способен устанавливать версии программы, скомпилированные для Windows Me (95, 98) или Windows NT (2000, ХР).

Одним из способов узнать версию Windows является использование API-функции GetVersionEx. Она принимает в качестве параметра структуру OSVERSIONINFO (или OSVERSIONINFOEX, но об этом позже), заполняет поля этой структуры и в случае удачи возвращает ненулевое значение.

Объявление ANSI-версии структуры OSVERSIONINFO в библиотеке Delphi 7 выглядит следующим образом:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Delphi. Трюки и эффекты»

Представляем Вашему вниманию похожие книги на «Delphi. Трюки и эффекты» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Delphi. Трюки и эффекты»

Обсуждение, отзывы о книге «Delphi. Трюки и эффекты» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x