Учимся увеличивать часть экрана под курсором

В этом уроке я хочу вам рассказать, как в Delphi увеличить определённую область экрана в районе курсора мышки. Ну что запускаем Delphi, нам понадобиться: Image с закладки Additional, TackBar (Win32), Timer (System) кидаем эти компоненты на форму. Теперь давайте установим свойство min компонента trackbar равным 1, а свойство interval компонента Timer также сделаем равным 1. Все основные действия происходят в Timer'е поэтому создаем обработчик событий OnTime именно на нем. Ниже приведен код данного события.

Delphi увеличиваем часто экрана исходник


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);  
//Показываем magnified screen  
//если курсор за пределами формы.  
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;  
end;   

Как видите все просто. А теперь попробуйте сами ументшить часть экрана над которой находиться курсор. Слабо))
Теги:
курсор
Добавлено: 01 Августа 2018 08:31:49 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...