• Новости
  • Темы
    • Экономика
    • Здоровье
    • Авто
    • Наука и техника
    • Недвижимость
    • Туризм
    • Спорт
    • Кино
    • Музыка
    • Стиль
  • Спецпроекты
  • Телевидение
  • Знания
    • Энциклопедия
    • Библия
    • Коран
    • История
    • Книги
    • Наука
    • Детям
    • КМ школа
    • Школьный клуб
    • Рефераты
    • Праздники
    • Гороскопы
    • Рецепты
  • Сервисы
    • Погода
    • Курсы валют
    • ТВ-программа
    • Перевод единиц
    • Таблица Менделеева
    • Разница во времени
Ограничение по возрасту 12
KM.RU
Рефераты
Главная → Рефераты → Информатика, программирование
  • Новости
  • В России
  • В мире
  • Экономика
  • Наука и техника
  • Недвижимость
  • Авто
  • Туризм
  • Здоровье
  • Спорт
  • Музыка
  • Кино
  • Стиль
  • Телевидение
  • Спецпроекты
  • Книги
  • Telegram-канал

Поиск по рефератам и авторским статьям

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

Дата добавления: 23.05.2003

База рефератов на портале KM.RU существует с 1999 года. Она пополнялась не только готовыми рефератами, докладами, курсовыми, но и авторскими публикациями, чтобы учащиеся могли использовать их и цитировать при самостоятельном написании работ.


Это популяризирует авторские исследования и научные изыскания, что и является целью работы истинного ученого или публициста. Таким образом, наша база - электронная библиотека, созданная в помощь студентам и школьникам.


Уважаемые авторы! Если Вы все же возражаете против размещения Вашей публикации или хотите внести коррективы, напишите нам на почту info@corp.km.ru, мы незамедлительно выполним Вашу просьбу или требование.


официальный сайт © ООО «КМ онлайн», 1999-2025 О проекте ·Все проекты ·Выходные данные ·Контакты ·Реклама
]]>
]]>
Сетевое издание KM.RU. Свидетельство о регистрации Эл № ФС 77 – 41842.
Мнения авторов опубликованных материалов могут не совпадать с позицией редакции.

Мультипортал KM.RU: актуальные новости, авторские материалы, блоги и комментарии, фото- и видеорепортажи, почта, энциклопедии, погода, доллар, евро, рефераты, телепрограмма, развлечения.

Карта сайта


Подписывайтесь на наш Telegram-канал и будьте в курсе последних событий.


Организации, запрещенные на территории Российской Федерации
Telegram Logo

Используя наш cайт, Вы даете согласие на обработку файлов cookie. Если Вы не хотите, чтобы Ваши данные обрабатывались, необходимо установить специальные настройки в браузере или покинуть сайт.