Приемы

Трюки с формой 2.0: ComboBox в заголовке

ComboBox в заголовке

Как разместить ComboBox в заголовке формы? Или CheckBox? Или DateTimePicker? Если кнопку (вернее, эмуляцию кнопки) можно «запихать» в заголовок формы, то что делать с другими компонентами? Есть несколько вполне рабочих трюков. Один из них сейчас рассмотрим.

Трюки с формой 1.0: Без заголовка с тенью и отзывчивой рамкой

Рамка - огонь!

Форма без заголовка служит в основном для того, чтобы сделать заставку, или показать какой-нибудь процесс. Как правило, такое окно автоматически лишается тени. И в ряде случаев требуется менять размеры мышкой, как у обычного окна.

Как подключить GDI+ для Delphi 7 и не иметь проблем в XE

Delphi GDI+

Оказывается, Delphi 7 по-прежнему популярна и любима многими. У меня практически все примеры написаны для XE с использованием «родного» GDI+, что делает невозможным их компиляцию в Delphi 7. А потребность, как подключить GDI+ для Delphi 7, есть.

Печать xls(x), doc(x), pdf на указанный принтер

Недавно понадобилось в один свой проект автоматической печати добавить возможность печати xls(x), doc(x) и pdf. Программа в фоне опрашивает указанные ссылки, и если что-то есть, делает скрины страниц и автоматически выводит на указанный принтер. Теперь люди хотят не только скрины.

Направить ось Y вверх

Ось Y вверх

По умолчанию, ось Y направлена вниз. Иногда требуется направить ось ординат снизу-вверх. Как правило, перенаправление оси влечет за собой неправильное отображение текста. Нарушается логика определения объектов под курсором. Для исправления ситуации привлекаются аффинные преобразования. Хотя всего этого можно избежать.

Запрет смены фокуса и обработка событий при нажатии стрелок

Бывает так. Пишешь какой-нибудь красочный визуальный CustomControl, и в какой-то момент хочешь добавить реакцию на клавиатурные кнопки влево-вправо-вверх-вниз. Как грамотный человек, переопределяешь методы KeyDown или KeyPress. И тут приходит жесткий облом…

Как повернуть изображение. GDI, GDI+, Direct2D, JavaScript

rotate image

Как повернуть изображение? Это один самых популярных запросов к сайту. Согласен, что статья о теории аффинных преобразований больше заточена под объяснение коэффициентов матриц преобразований, почему они такие. Поэтому, исправляю ситуацию и отвечаю на вопрос.

SpinEdit. Самозванец с плавающей запятой

SpinEdit Imposter

SpinEdit с плавающей запятой нужен, порой, как воздух. Но стандартный SpinEdit оперирует только целочисленными значениями. Поэтому для вещественных значений, либо пишется имитатор в связке Edit + UpDown, либо используется JvSpinEdit, либо cxSpinEdit, либо аналогичное. Хотя, стандартный SpinEdit отлично подходит для… (ДАЛЕЕ)

TStyleHook, GDI+ и шрифт из ресурса

StyleHook GDI+

Наследники TStyleHook служат для перехвата событий и пользовательской отрисовки компонента. Что позволяет кардинально улучшить интерфейс без написания своих компонент и хакерских уловок. Планировал к стилям зайти издалека, но уж так как-то само собой сложилось, что буду описывать сейчас.