powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нарисовать?
4 сообщений из 4, страница 1 из 1
Как нарисовать?
    #32184571
Kwasti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь сможет подсказать как вывести текст(нарисовать) в окне не используя ни стандартного класса статического текста?
но так чтобы если он выходит за пределы некоего квадрата скажем с коорд.(10,10,30,30) обрезался?
наподобии как если создаешь на форме кнопку и у кнопки задаешь длинный текст то у текста при запуске формы показывается только середина.
...
Рейтинг: 0 / 0
Как нарисовать?
    #32184573
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windows.DrawText
...
Рейтинг: 0 / 0
Как нарисовать?
    #32184842
Dikobrazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и через Windows, конечно... но через Canvas.TextRect проще.
Ну и в OnPaint это делать, конечно.
...
Рейтинг: 0 / 0
Как нарисовать?
    #32193975
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ещё можно создать область отсечения, тогда всё, что рисуется, будет выводиться только внутри заданного прямоугольника.
Правда, я знаю как это делать через API, а вот как делать через VCL не знаю.
....
var
Region:HRGN;
....

Region:=CreateRectRgn(x1,y1,x2,y2);
SelectClipRgn(DrawCanvas.Handle,Region);

Вместо DrawCanvas - Canvas формы или того элемента, на котором рисуете.
И не забудьте потом вернуть обратно. А то будете потом искать почему всё остальное не рисуется. :)

Кстати, в событии OnPaint можно читать свойство
Canvas.ClipRect: TRect; которое содержит координаты области, которую необходимо перерисовывать. Но вот не знаю можно ли его записывать (я в основном работаю через API).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нарисовать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]