Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

Возможно ли это…   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
1-81352
Macuca
2002-07-13 15:14
2002.07.25
Массив элементов управления


14-81459
Pro
2002-06-28 09:50
2002.07.25
редактор hlp


1-81262
V.Turecky
2002-07-14 15:30
2002.07.25
Как можно записать строку, содержащию знак ( )?


6-81395
demona
2002-05-15 17:25
2002.07.25
Как можно отслеживать и передавать сообщение через netsend


1-81258
Alex_win
2002-07-15 09:19
2002.07.25
версия фала