![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисование на канве в заданном прямоугольнике
cyber-pilot © (2011-12-15 01:10:00)Есть код, который рисует на канве линии, прямоугольники и выводит текст. И в некоторых случаях требуется задать прямоугольную область, в которой бы отрисовка выполнялась как и раньше, а вне области ничего не отрисовывалось. Как это можно сделать?
Пока что придумал такой способ: для вывода текста использовать ExtTextOut - в нем можно указать область отрисовки, а для линий и прямоугольников вычислять точки пересечения с областью отрисовки и рисовать только то, что нужно.
Но при таком способе нужно будет много кода переделать. Может быть есть способ попроще?
han_malign (2011-12-15 18:03:00) [1]
> Помогли CreateRectRgn и SelectClipRgn
- хватило бы и IntersectClipRect...
cyber-pilot (2011-12-15 16:04:00) [2]
> KilkennyCat © (15.12.11 02:22) [4]
Спасибо!
Помогли CreateRectRgn и SelectClipRgn
KilkennyCat (2011-12-15 02:22:00) [3]
> cyber-pilot (15.12.11 01:48) [3]
ну, хочешь лучше - изучай это: http://msdn.microsoft.com/en-us/library/dd183439%28v=VS.85%29.aspx
cyber-pilot (2011-12-15 01:48:00) [4]
> KilkennyCat © (15.12.11 01:17) [1]
Да, так будет проще. Немного неоптимально, но если ничего лучше не найду, пожалуй так и буду делать. Спасибо.
> Германн © (15.12.11 01:34) [2]
Код отрисовки содержимого текстового радактора. Достался в наследство от предыдущих разработчиков, частично переделывался мной.
Германн (2011-12-15 01:34:00) [5]
> Есть код, который рисует на канве линии
Какой код? Откуда "натырен"?
KilkennyCat (2011-12-15 01:17:00) [6]создать битмап, размером, равным требуемой области. рисовать на нем. после, его копировать в эту область.