Новые книги

Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела.

В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и подходы для разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга – больше, чем описание методов, она о профессиональном подходе к процессу разработки.
В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.

Компакт-диск прилагается только к печатному изданию книги.

Вопрос и Ответ 5

Вопросы и Ответы


      5. Можно ли из Delphi рисовать в любой части экрана или в чужом окне?

      Для этого надо воспользоваться функциями API. Получить контекст чужого окна, либо всего экрана:

      function GetDC(Wnd: HWnd): HDC;

      где Wnd - указатель на нужное окно, или 0 для получения контекста всего экрана.

      И далее, пользуясь функциями API, нарисовать все что надо.

      Пример:

      ............

      PROCEDURE DrawOnScreen;
      VAR ScreenDC: hDC;
      BEGIN

        ScreenDC := GetDC(0); {получить контекст экрана}
        Ellipse(ScreenDC, 0, 0, 200, 200); {нарисовать}
        ReleaseDC(0,ScreenDC); {освободить контекст}

      END;

      ............

      Не забывайте после своих манипуляций посылать пострадавшим (или всем) окнам сообщение о необходимости перерисовки, для восстановления их первоначального вида.


...предыдущая страница следующая...
оглавление