Есть программы, которые позволяют увеличивать определённую область экрана в районе курсора мышки. А вам слабо самостоятельно сделать такое приложение ?
Итак, приступим.
Нам понадобится одна форма, один элемент управления image, одна панель, кнопка, таймер и бегунок. Добавляем к форме картинку и панель. Размещаем остальные элементы управления на панели. Теперь всё готово к программированию. Но предварительно Вам необходимо изменить некоторые свойства у Ваших элементов управления.
А вот код, наиболее важной части программы:
// переменныеvar
Srect, Drect, PosForme: TRect;
iWidth, iHeight, DmX, DmY: Integer;
iTmpX, iTmpY: Real;
C: TCanvas;
Kursor: TPoint;
...
// Увеличиваем экран, если приложение не свёрнуто в иконкуifnot IsIconic(Application.Handle) thenbegin// Получаем координаты курсора
GetCursorPos(Kursor);
// PosForm представляет прямоугольник с координатами Form (image control).
PosForme := Rect(Form1.Left, Form1.Top, Form1.Left + Form1.Width, Form1.Top + Form1.Height);
//Показываем magnified screen если курсор за пределами формы.ifnot PtInRect(PosForme, Kursor) thenbegin// Далее код можно использовать для увеличения выбранной// части экрана. С небольшими модификациями его можно// использовать для уменьшения// экрана
iWidth := Image1.Width;
iHeight := Image1.Height;
Drect := Bounds(0, 0, iWidth, iHeight);
iTmpX := iWidth / (Slider.Position * 4);
iTmpY := iHeight / (Slider.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
TransitionEffect.
Компонент позволяет делать stretches, slides, zooms и pushes.
ZImage
бесплатный Delphi VCL компонент, который можно использовать для отображения
различных изображений: картинок, факсов и т.д. Используя мышку, можно
увеличивать изображение и уменьшать, а так же скроллировать. Можно показывать
скроллинг справа и внизу. Alexander Rublinetsky.
Статья Как создать Delphi приложение, которое могло бы увеличивать часть рабочего стола наподобие лупы раздела Рабочий стол Рабочий стол может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.