Сегодня Четверг | Дата: 28.11.2024 | Время: 19:42
Последние новости
Русуфикатор для Delphi
Добавил: Jura
Всего комментариев: 2
Видео-уроки по HTML
Добавил: Jura
Всего комментариев: 0
9 мая
Добавил: Jura
Всего комментариев: 0
Новые темы форума
Зака банера
Ответил: Jura
Всего ответов:
Лучшие пользователи
no avatar
Логин: Jura
Репутация: 0
Группа: Администраторы
no avatar
Логин: Toha
Репутация: 0
Группа: Пользователи
Xaker_delphi
Логин: Xaker_delphi
Репутация: 0
Группа: Модераторы
Доброго времени суток, Гость! Авторизуйся или зарегистрируйся
 
 
 
  
  
  

Меню уроков
Меню сайта
Нажми!
Эти деньги на роскрутку сайта!
  • Форекс новости фондового рынка
  • $$$ для web-мастеров
    Категории
    Форма входа
    Наш опрос
    Всего ответов: 18
    Как вы попали на нас?

    Мини-чат
    Для добавления сообщения необходима авторизация
    Наша кнопка

    Программирование Delphi



    Друзья сайта
     
     
     
     
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Другие информеры

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

    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;

    Как видите все просто.



    Просмотров: 591 | Добавил: Jura | Дата: 29.04.2011
    Комментарии
    Всего комментариев: 0
    Revision by Mazaxaka