Название: Увеличение области экрана с помощью Delphi
Вид работы: доклад
Рубрика: Информатика и программирование
Размер файла: 14.08 Kb
Скачать файл: referat.me-134280.docx
Краткое описание работы: Увеличение области экрана с помощью Delphi
Увеличение области экрана с помощью Delphi
Есть программы, которые позволяют увеличивать определённую область экрана в районе курсора мышки. Нам понадобится одна форма, один элемент управления image, одна панель, таймер и бегунок. Добавляем к форме картинку и панель. Размещаем остальные элементы управления на панели. Бегунок будет изменять степень увеличения экрана. Теперь всё готово к программированию. Но предварительно Вам необходимо изменить некоторые свойства у Ваших элементов управления. Свойство min компонента TrackBar должно быть равно 1, свойство Interval Вашего таймера также сделайте равным 1. Теперь напишем сам код, все основные действия будут происходить только при возникновении события OnTimer, поэтому приведу только его обработчик:
procedure TForm1.Timer1Timer(Sender: TObject);
Var
Srect,Drect,PosForme:TRect;
iWidth,iHeight,DmX,DmY:Integer;
iTmpX,iTmpY:Real;
C:TCanvas;
Kursor:TPoint;
begin
If not IsIconic(Application.Handle) then begin
// Получаемкоординатыкурсора
GetCursorPos(Kursor);
// PosForm представляет прямоугольник с
// координатами Form (image control).
PosForme:=Rect(Form1.Left,
Form1.Top,
Form1.Left+Form1.Width,
Form1.Top+Form1.Height);
//Показываем magnifiedscreen
//если курсор за пределами формы.
If not PtInRect(PosForme,Kursor) then begin
// Далее код можно использовать для увеличения выбранной
// части экрана. С небольшими модификациями его можно
// использовать для уменьшения
// экрана
iWidth:=Image1.Width;
iHeight:=Image1.Height;
Drect:=Bounds(0,0,iWidth,iHeight);
iTmpX:=iWidth / (TrackBar1.Position * 4);
iTmpY:=iHeight / (TrackBar1.Position * 4);
Srect:=Rect(Kursor.x,Kursor.y,Kursor.x,Kursor.y);
InflateRect(Srect,Round(iTmpX),Round(iTmpY));
//Получаем обработчик(handle) окна рабочего стола.
C:=TCanvas.Create;
try
C.Handle:=GetDC(GetDesktopWindow);
//Передаём часть изображения окна в TImage.
Image1.Canvas.CopyRect(Drect,C,Srect);
finally
C.Free;
end;
end;
// Обязательно обрабатываем все сообщения Windows.
Application.ProcessMessages;
end; // IsIconic
end;
Как оказалось, все не так уж сложно, это уже готовый к употреблению код, который Вы с успехом можете применять в своих программах!
Список литературы
Михаил Христосенко. Увеличение области экрана с помощью Delphi.
Похожие работы
-
Анимация без лишних усилий
Отличные результаты можно получить используя только функции WinAPI или возможности Delphi. Я рассмотрю несколько таких необычных возможностей, причем самый большой пример будет состоять из менее чем 10 (!) строк кода.
-
Создание хранителя экрана
Главное о чем стоит упомянуть это, что ваш хранитель экрана будет работать в фоновом режиме, и он не должен мешать работе других запущенных программ. Поэтому сам хранитель должен быть как можно меньшего объема.
-
Вычисление значения функции y(x)
Особенности применения компьютерных программ Pascal, Excel, MathCAD и Delphi для вычисления значения функции y(x) с заданным промежутком и шагом. Виды результатов вычислений, их сравнение и вывод. Изображение блок-схемы алгоритма решения задания.
-
Визуальное программирование
Визуализация - это процесс графического отображения сложных процессов (в данном случае построения) на экране компьютера в виде графических примитивов (графических фигур).
-
Описание файлов, создаваемых Дельфи
Вы когда ни будь задумывались о том, что создает Дельфи в папке с исходниками проекта? Да и нужен ли весь этот абсолютно бесполезный, для рядового программиста, "мусор"? Пора призадуматься. В этой мини-статье я расскажу о назначении таких файлов.
-
Средства создания мультимедийных приложений
Мультимедиа в Delphi. Компонент TMediaPlayer. Два вида программ, использующих мультимедиа. Пример программы с мультимедиа.
-
Установка компонентов в Дельфи
Если после установки компонента на форму возникли проблемы с компиляцией проекта, то это значит, что Delphi не может найти .pas файл компонента.
-
Реестр: записьчтение
Работа с системным реестром в Delphi достаточно простая. Использование реестра имеет некоторые преимущества перед INI-файлами. Они заключаются в том, что реестр - более стабильный, и у него нет ограничения на размер.
-
События клавиатуры
Процедура обработки события. Просмотр и изменение значений свойств формы и ее компонентов. Значение свойств height. Раскрытый список вложенных свойств сложного свойства BorderIcons. Приложение, вычисляющее площадь треугольника. Внешний вид приложения.
-
Delphi или Visual C++ - вот в чем вопрос
С точки зрения создания программ -разница между Borland C++ Builder(если изучать, то его, а не Delphi, как более продвинутую систему) и VC++ просто огромна.