бесплано рефераты

Разделы

рефераты   Главная
рефераты   Искусство и культура
рефераты   Кибернетика
рефераты   Метрология
рефераты   Микроэкономика
рефераты   Мировая экономика МЭО
рефераты   РЦБ ценные бумаги
рефераты   САПР
рефераты   ТГП
рефераты   Теория вероятностей
рефераты   ТММ
рефераты   Автомобиль и дорога
рефераты   Компьютерные сети
рефераты   Конституционное право
      зарубежныйх стран
рефераты   Конституционное право
      России
рефераты   Краткое содержание
      произведений
рефераты   Криминалистика и
      криминология
рефераты   Военное дело и
      гражданская оборона
рефераты   География и экономическая
      география
рефераты   Геология гидрология и
      геодезия
рефераты   Спорт и туризм
рефераты   Рефераты Физика
рефераты   Физкультура и спорт
рефераты   Философия
рефераты   Финансы
рефераты   Фотография
рефераты   Музыка
рефераты   Авиация и космонавтика
рефераты   Наука и техника
рефераты   Кулинария
рефераты   Культурология
рефераты   Краеведение и этнография
рефераты   Религия и мифология
рефераты   Медицина
рефераты   Сексология
рефераты   Информатика
      программирование
 
 
 

Доклад: Увеличение области экрана с помощью 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);

//Показываем 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; // IsIconic

end;

Как оказалось, все не так уж сложно, это уже готовый к употреблению код, который Вы с успехом можете применять в своих программах!

Список литературы

Михаил Христосенко. Увеличение области экрана с помощью Delphi.

Для подготовки данной работы были использованы материалы с сайта статьи http://delphid.dax.ru.



© 2010 САЙТ РЕФЕРАТОВ