Форум: "Потрепаться";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизВозможно ли это… Найти похожие ветки
← →
Man-In-Red (2002-06-28 21:20) [0]Возможно ли это…
--------------------------------------------------------------------------------------------------------------------------------
Возможно ли какой-нибудь компонент представить в виде изображения и поместить в Image? Я имею ввиду как можно «отснять изображение компонента » в моем случае это StringGrid, вместе с текстом, с графикой в виде картинки и поместить в Image, примерно так как это делает Alt+PrtScreen, но включая даже ту часть компонента которая не поместилась на экран?!
Буду очень благодарен!
--------------------------------------------------------------------------------------------------------------------------------
← →
Viewer (2002-06-28 21:30) [1]Никак.
То что, за пределами окна - не существует.
Или сам рисуй на основе знаний о свойствах компонента и данных в нем размещаемых
← →
Volj (2002-06-28 21:40) [2]Моржно :) Первое, что приходит в голову - перехватить Canvas. Он описан в TCustomControl как приватный fCanvas. Но можно высчитать смещение от Self нужного тебе StringGrid и вручную записать туда сыылку на Canvas TImage.
А дальше - дерзай! Страна не забудет своих героев! ;-)
← →
Viewer (2002-06-28 21:42) [3]Чего только в говолю не стукнет:))
← →
Volj (2002-06-28 21:43) [4]ЭтТочно. Хорошо, что это не мне нужно сделать :)
← →
kull (2002-06-28 23:10) [5]
> То что, за пределами окна - не существует.
Ха-ха-ха!!! Держите меня.
← →
ricks (2002-06-29 00:52) [6]Сначала получить DC (GetWindowDC), а потом копировать (BitBlt) в какой-нибудь Bitmap.Canvas.Handle
← →
Viewer (2002-06-29 11:53) [7]Вероятно, я не совсем точно понял вопрос.
Я решил, что абоненту нужна информация находящаяся за пределами
изображения компонента, а не окна на котором находится компонент.
Т.е. если в гриде отображено 10 строк, а реально он содержит 100,
то оставшиеся 90 строк методами копирования через DC не получить.
Если только не инициировать прокрутку на экран, последовательное копирование и конкатенацию изображений.
Это точно головная боль.
Поэтому и было утверждение - "не существует".
(29.06.02 00:52)
>Сначала получить DC (GetWindowDC), а потом копировать (BitBlt) >в какой-нибудь Bitmap.Canvas.Handle
Так, кстати, не пойдет. Этот вариант только для неклипированного
окном компонента.
← →
Юрий Зотов (2002-06-29 18:11) [8]Ух, чего только не наговорили...
А про уже готовый метод PaintTo почему-то не вспомнили.
← →
Man-In-Red (2002-06-29 19:11) [9]2 Юрий Зотов © (29.06.02 18:11)
А поподробней можно пожалуйста!
Заранее благодарен!
← →
Man-In-Red (2002-06-29 19:25) [10]StringGrid1.PaintTo(image1.Canvas.Handle,0,0);
Что-то вроде этого?
Но тогда это тоже не подходит, потому что рисует только то, что видит… а то что «за экраном» остается белым…
Вопрос остается открытым…
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c