Мой DELPHI – Программирование

Всё для программера

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

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

Ответ:

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

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

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

Ответ:

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

Можно ли изменить вид текстового курсора (каретки) edit’а или другого элемента

Вопрос:

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

Ответ:

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

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

Вопрос:

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

Ответ:

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

При обработке события DrawCell компонента DrawGrid

Вопрос:

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

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

If (Row = 0) then
	begin
		DrawGrid1.Canvas.Font.Color := clRed;
		DrawGrid1.Canvas.TextOut(Rect.Left,Rect.Top, IntToStr(Col));
	end;