Тэги ‘TextOut’

Вопрос:
Вместо печати графики я хочу использовать резидентный шрифт принтера. Как?

Ответ:

Используте функцию Windows
API – GetStockObject() чтобы получить дескриптор (handle) шрифта по умолчанию
устройства (DEVICE_DEFAULT_FONT) и передайте его Printer.Font.Handle. Read the rest of this entry »

Вопрос:
Почему при изменении цвета букв StatusBar'а ничего не происходит?

Ответ:

Status bar – стандартный
элемент управления Windows, и соответственно цвет его букв – значение clBtnText
которое изменяется с помощью настроек в Control Panel. Этот цвет черный по умолчанию
и может изменяться в зависимости от выбранной цветовой схемы. Другие стандартные
элемент управления Windows, например кнопки, также имеют цвет букв, настраиваемый
из ControlPanel. StatusBar и его панели имеют свойство “owner-draw”, позволяющее
Вам использовать любой цвет букв. Read the rest of this entry »

Вопрос:

Можно ли изменить вид текстового курсора (каретки) edit'а или другого элемента
управления Windows?

Ответ:

Можно! В примере показано
как создать два цветных “bitmap’а”: “улыбчивый” и “хмурый” и присвоить их курсору
edit’а. Для этого нужно перехватить оконную процедуру edit’а. Чтобы сделать
это заменим адрес оконной процедуры Edit’а нашим собственным, а старую оконную
процедуру будем вызывать по необходимости. Пример показывает “улыбчивый” курсор
при наборе текста и “хмурый” при забое клавишей backspace. Read the rest of this entry »

Вопрос:

При использовании BitBtn Caption(текст) и картинка(bitmap) из файла не видны
одновременно. Почему?

Ответ:

Это может происходить
если картинка слишком велика. Класс TBitBtn сначала рисует картинку, а затем
выводит текст над, под, слева или справа от картинки (в завивимости от свойства
Layout). Если размер картинки такой же как у всей кнопки для вывода текста просто
не остается места. Если Вам нужно получить кнопку такого же размера как Ваша
картинка и видеть при этом надпись на кнопке Вам придется выводить текст надписи
непосредственно на канву картинки. Read the rest of this entry »

Вопрос:

При обработке события DrawCell компонента DrawGrid я пишу Font.Color := clRed; и получаю бесконечный
цикл мерцаний. Почему?

Ответ:
Правильно укажите границы используемого канваса.
Пример:

Read the rest of this entry »

Как выделить окошко DBGrid другим цветом?

Необходимо обработать событие “OnDrawCellData”. Например для того, чтобы
пометить выбранное окошко красным фоном, необходимо сделать следующее:


procedure TForm1.DBGridDrawDataCell(Sender:TObject; const Rect:TRect;
  Field:TField; State:TGridDrawState); Read the rest of this entry »
4
июня

Урок 5: Рисование и закраска

   Автор: admin   в Уроки Delphi

Урок 5: Рисование и закраска

  1. Обзор
  2. Из данной статьи Вы узнаете о том, какие возможности есть в Delphi
    для создания приложений, использующих графику; как использовать компоненты
    для отображения картинок; какие средства есть в Delphi для оформления программы.
    Кроме того, познакомитесь с важным свойством Canvas, которое предоставляет
    доступ к графическому образу объекта на экране.

  3. Графические компоненты
  4. В стандартную библиотеку визуальных компонент Delphi входит несколько
    объектов, с помощью которых можно придать своей программе совершенно оригинальный
    вид. Это – TImage (TDBImage), TShape, TBevel.

    TImage позволяет
    поместить графическое изображение в любое место на форме. Этот объект очень
    прост в использовании – выберите его на странице Additional и поместите
    в нужное место формы. Собственно картинку можно загрузить во время дизайна
    в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться
    в файле в формате BMP (bitmap), WMF (Windows Meta
    File
    ) или ICO (icon).
    (TDBImage отображает картинку, хранящуюся в таблице в поле типа BLOB. При
    этом доступен только формат BMP.)

    Как известно, форматов хранения
    изображений гораздо больше трех вышеназванных (например, наиболее известны
    PCX, GIF, TIFF, JPEG). Для включения в программу изображений в этих форматах
    нужно либо перевести их в формат BMP, либо найти библиотеки третьих фирм,
    в которых есть аналог TImage, “понимающий” данные форматы (есть как VBX
    объекты, так и “родные” объекты для Delphi).

    При проектировании следует
    помнить, что изображение, помещенное на форму во время дизайна, включается
    в файл .DPR и затем прикомпилируется к EXE файлу. Поэтому такой EXE файл
    может получиться достаточно большой. Как альтернативу можно рассмотреть
    загрузку картинки во время выполнения программы, для этого у свойства Picture
    (которое является объектом со своим набором свойств и методов) есть специальный
    метод LoadFromFile. Это делается, например, так:

    if OpenDialog1.Execute then

    Image1.Picture.LoadFromFile(OpenDialog1.FileName);

    Важными являются свойства
    объекта Center и Stretch – оба имеют булевский тип. Если Center установлено
    в True, то центр изображения будет совмещаться с центром объекта TImage.
    Если Stretch установлено в True, то изображение будет сжиматься или растягиваться
    таким образом, чтобы заполнить весь объект TImage.

    TShape - простейшие
    графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается
    в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush
    задает цвет и вид заполнения объекта. Эти свойства можно менять как во
    время дизайна, так и во время выполнения программы.

    TBevel – объект
    для украшения программы, может принимать вид рамки или линии. Объект предоставляет
    меньше возможностей по сравнению с TPanel, но не занимает ресурсов. Внешний
    вид указывается с помощью свойств Shape и Style. Read the rest of this entry »