Новые книги

The tutorials start with the most basic Windows program, the windows equivalent of "hello world!", Winnie. Then we move on to a more Generic program, which serves as a skeleton for a simple Windows application. Then we discuss various Controls. Using these controls one can build a complete dialog-based application, whose main window is a dialog. We are then ready to discuss a Generic Dialog, a framework with which one can quickly build specific dialogs.

To do some simple graphics one needs a Canvas object. You use Pens and Brushes to paint on the canvas.

More advanced topics include programming with Threads with a practical example of a Folder Watcher — a program that watches directories for changes.

Modern windows programming requires some knowledge of the Shell API, which leads us to the discussion of OLE and COM. We show how one can encapsulate OLE in C++ to create Smart OLE. OLE is also used in Automation, which lets your application talk to other applications.

Controls are nothing but specialized windows. You can easily create your own controls, as evidenced by the Splitter Bar tutorial.

For graphics programmer, we give a short introduction on using Bitmaps for animation and a more advanced tutorial on using Direct Draw.
Третье издание, расширенное и обновлённое для Blender 2.57

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

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


      31. Можно ли нарисовать курсор мыши как обычную картинку?

      Специальной функции для рисования курсора мыши нет. Но формат данных курсора и иконки одинаков, поэтому, можно воспользоваться функцией рисования иконки, только загружать надо изображение курсора. Для загрузки изображения курсора необходимо воспользоваться функцией:

      function LoadCursor(Instance: THandle; IconName: PChar): HCursor;

      формат ее полностью идентичен функции LoadIcon (см. "Вопрос и Ответ 13").

      Пример:

      Курсор в виде песочных часов выводится в компонент Image1: TImage, который уже размещен на форме.

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

      procedure TForm1.FormCreate(Sender: TObject);
      VAR Ico: TIcon;
      begin

        {Создание объекта типа TIcon}
        Ico := TIcon.Create;
        try

          {IDC_WAIT}
          {Загрузка в объект TIcon курсора в виде песочных часов}
          Ico.Handle := LoadCursor(0, PChar(IDC_WAIT));
          {Вывод иконки в компонент Image1}
          Image1.Picture.Graphic := Ico;

        finally

          {Освобождение ресурсов занятых объектом TIcon}
          Ico.Free;

        end;

      end;

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


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



"Вопрос и Ответ 31"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2024 .
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.006