• Пожаловаться

Александр Чиртик: Программирование в Delphi. Трюки и эффекты

Здесь есть возможность читать онлайн «Александр Чиртик: Программирование в Delphi. Трюки и эффекты» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях присутствует краткое содержание. Город: Санкт-Петербург, год выпуска: 2010, ISBN: 978-5-49807-118-3, категория: Программирование / на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале. Библиотека «Либ Кат» — LibCat.ru создана для любителей полистать хорошую книжку и предлагает широкий выбор жанров:

любовные романы фантастика и фэнтези приключения детективы и триллеры эротика документальные научные юмористические анекдоты о бизнесе проза детские сказки о религиии новинки православные старинные про компьютеры программирование на английском домоводство поэзия

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

Александр Чиртик Программирование в Delphi. Трюки и эффекты

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

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

Как и все издания данной серии, эта книга адресована тем, кто хочет научиться делать с помощью уже знакомых программных пакетов новые интересные вещи. Издание будет полезно и новичкам, и опытным программистам. Автор описывает удивительные возможности, скрытые в языке, и на примерах учит читателя программистским фокусам – от «мышек-невидимок» и «непослушных окон» до воспроизведения MP3 и управления офисными программами Word и Excel из приложений Delphi. Купив эту книгу, вы пройдете непростой путь к вершинам программистского мастерства весело и интересно.

Александр Чиртик: другие книги автора


Кто написал Программирование в Delphi. Трюки и эффекты? Узнайте фамилию, как зовут автора книги и список всех его произведений по сериям.

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

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

Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

SetWindowRgn(Button2.Handle, but2Rgn, False);

but3Rgn:= CreateEllipticRgn(0, 0, Button3.Width–1, Button3.Height–1);

SetWindowRgn(Button3.Handle, but3Rgn, False);

//Регион для окна

formRgn:= CreateEllipticRgn(0, 0, Width–1, Height–1);

SetWindowRgn(Handle, formRgn, True);

end;

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

Результат выполнения кода листинга 1.10 можно увидеть на рис. 1.5.

Рис 15 Окно и кнопки в форме эллипсов Далее рассмотрим не менее интересный - фото 7

Рис. 1.5. Окно и кнопки в форме эллипсов

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

Листинг 1.11. Окно и кнопки с округленными краями

procedure TfrmRoundRect.FormCreate(Sender: TObject);

var

formRgn, but1Rgn, but2Rgn, but3Rgn: HRGN;

begin

//Создаем регионы для кнопок

but1Rgn:= CreateRoundRectRgn(0, 0, Button1.Width–1, Button1.Height–1,

Button1.Width div 5, Button1.Height div 5);

SetWindowRgn(Button1.Handle, but1Rgn, False);

but2Rgn:= CreateRoundRectRgn(0, 0, Button2.Width–1, Button2.Height–1,

Button2.Width div 5, Button2.Height div 5);

SetWindowRgn(Button2.Handle, but2Rgn, False);

but3Rgn:= CreateRoundRectRgn(0, 0, Button3.Width–1, Button3.Height–1,

Button3.Width div 5, Button3.Height div 5);

SetWindowRgn(Button3.Handle, but3Rgn, False);

//Регион для окна

formRgn:= CreateRoundRectRgn(0, 0, Width–1, Height–1,

Width div 5, Height div 5);

SetWindowRgn(Handle, formRgn, False);

end;

В листинге 1.11 размеры округляющих эллипсов вычисляются в расчете из размеров конкретного окна (20 % от его ширины и 20 % от высоты). Это смотрится не всегда красиво. В качестве альтернативы для ширины и высоты скругляющих эллипсов можно использовать фиксированные небольшие значения.

Результат выполнения кода листинга 1.11 можно увидеть на рис. 1.6.

Рис 16 Окно и кнопки с округленными краями Теперь самый интересный из - фото 8

Рис. 1.6. Окно и кнопки с округленными краями

Теперь самый интересный из предусмотренных примеров – создание окна и кнопок в форме многоугольников, а именно: окна в форме звезды, кнопок в форме треугольника, пяти– и шестиугольника (рис. 1.7).

Рис 17 Окно и кнопки в форме многоугольников Код создания регионов для - фото 9

Рис. 1.7. Окно и кнопки в форме многоугольников

Код создания регионов для областей отсечения данного примера приведен в листинге 1.12.

Листинг 1.12. Окно и кнопки в форме многоугольников

procedure TfrmPoly.FormCreate(Sender: TObject);

var

points: array [0..5] of TPoint;

formRgn, but1Rgn, but2Rgn, but3Rgn: HRGN;

begin

//Создаем регионы для окна и кнопок

//..шестиугольная кнопка

Make6Angle(Button1.Width, Button1.Height, points);

but1Rgn:= CreatePolygonRgn(points, 6, WINDING);

SetWindowRgn(Button1.Handle, but1Rgn, False);

//..треугольная кнопка

Make3Angle(Button2.Width, Button2.Height, points);

but2Rgn:= CreatePolygonRgn(points, 3, WINDING);

SetWindowRgn(Button2.Handle, but2Rgn, False);

//..пятиугольная кнопка

Make5Angle(Button3.Width, Button3.Height, points);

but3Rgn:= CreatePolygonRgn(points, 5, WINDING);

SetWindowRgn(Button3.Handle, but3Rgn, False);

//..форма в виде звезды

MakeStar(Width, Height, points);

formRgn:= CreatePolygonRgn(points, 5, WINDING);

SetWindowRgn(Handle, formRgn, False);

end;

Особенностью создания регионов в приведенном листинге является использование дополнительных процедур для заполнения массива points координатами точек-вершин многоугольников определенного вида. Все эти процедуры принимают, помимо ссылки на сам массив points, ширину и высоту прямоугольника, в который должен быть вписан многоугольник. Описание процедуры создания треугольника приведено в листинге 1.13.

Листинг 1.13. Создание треугольника

procedure Make3Angle(width, height: Integer; var points: array of TPoint);

begin

points[0].X:= 0;

points[0].Y:= height – 1;

points[1].X:= width div 2;

points[1].Y:= 0;

points[2].X:= width – 1;

points[2].Y:= height – 1;

end;

В листинге 1.14 приведено описание процедуры создания шестиугольника.

Листинг 1.14. Создание шестиугольника

procedure Make6Angle(width, height: Integer; var points: array of TPoint);

begin

points[0].X:= 0;

points[0].Y:= height div 2;

points[1].X:= width div 3;

points[1].Y:= 0;

points[2].X:= 2 * (width div 3);

points[2].Y:= 0;

points[3].X:= width – 1;

points[3].Y:= height div 2;

points[4].X:= 2 * (width div 3);

points[4].Y:= height – 1;

points[5].X:= width div 3;

points[5].Y:= height – 1;

end;

Листинг 1.15 содержит описание процедуры создания пятиугольника (неправильного).

Листинг 1.15. Создание пятиугольника

procedure Make5Angle(width, height: Integer; var points: array of TPoint);

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

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

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


Андрей Жвалевский: CorelDRAW X4. Начали!
CorelDRAW X4. Начали!
Андрей Жвалевский
Александр Чиртик: Pinnacle Studio 11
Pinnacle Studio 11
Александр Чиртик
Сергей Талипов: Базы данных на Delphi 7
Базы данных на Delphi 7
Сергей Талипов
Отзывы о книге «Программирование в Delphi. Трюки и эффекты»

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