Delphi: как рисовать на рабочем столе?
Вообще, рисовать на рабочем столе компьютера очень просто. Достаточно знать несколько функций WinAPI и уметь и ними работать.
Алгоритм рисования состоит из следующих шагов:
-
получение указателя рабочего стола
сохранение указателей на текущий карандаш и кисть (pen и brush)
создание нового карандаша и кисти
сам процесс рисования (функции рисования графических примитивов: точек, линий, эллипсов, прямоугольников)
освобождение указателей на созданный карандаш и кисть
восстановление текущих указателей карандаша и кисти рабочего стола
освобождение указателя на рабочий стол
Если предполагается работа со шрифтами, то, аналогично карандашу и кисти, текущий шрифт нужно сохранить и создать новый, а по завершению работы - восстановить старый шрифт рабочего стола.
Код на Delphi 5 в терминах WinAPI будет выглядеть следующим образом:
program demo; uses Windows; var ScreenDC: hDC; // указатель на канву рабочего стола BrushHandle, OldBrushHandle: HBRUSH; // указатели на объекты типа КИСТЬ PenHandle, OldPenHandle: HPEN; // указатели на объекты типа КАРАНДАШ begin ScreenDC := GetDC(0); {получаем контекст экрана (рабочего стола)} // создаем новые карандаш и кисть PenHandle := CreatePen(PS_SOLID, 1, clRed); OldPenHandle := SelectObject(ScreenDC, PenHandle); BrushHandle := CreateSolidBrush(clRed); OldBrushHandle := SelectObject(ScreenDC, BrushHandle); { рисуем на рабочем столе .... .... } // освобождаем память от созданного карандаша и кисти SelectObject(ScreenDC, OldBrushHandle); DeleteObject(BrushHandle); SelectObject(ScreenDC, OldPenHandle); DeleteObject(PenHandle); // освобождаем память от указателя на рабочий стол ReleaseDC(0,ScreenDC); end.
Примечание: подобрый алгоритм рисования на рабочем столе активно используется в программе для создания виртуальных поздравительных открыток.
Вопросы как рисовать на рабочем столе или какие API функции использовать для рисования на экране были рассмотрены в этой статье.
Prolog — это язык логического программирования. Он является декларативным языком: вся стуктура программы представлена в виде правил и фактов. На нем можно строить экспертные системы, генерирующие ответы вида true (истина) или false (ложь). Пролог хорошо подходит для автоматического перебора вариантов решений с возвратами. Язык не требует написания большого объемного кода и позволяет получать отличные результаты.
Интересные материалы на сайте:
Теоретические навыки при создании простейшего сайта с нуля.
Краткое описание программ, позволяющих создать первый простейший сайт для размещения в Интернет.
Как сохранить баланс между красочностью сайта и скоростью загрузки страниц?
Описание урсоров и способов их отображения на html-страницах сайта.