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

Вниз

Рисование на канве другого приложения   Найти похожие ветки 

 
TStas ©   (2006-05-16 19:17) [0]

Из любопытства пробовал рисовать по канве другого приложения: через FindWindow получал Handle окна, дальше Canva:=Tcanvas.Create; Canva.Handle:=H; //Присваиваю Handle
Но почему-то ничего не выводилось. Однако подобным образом можно рисовать по рабочему столу. Почему не вывелся рисунок или это каким-то образом сами винды запрещают?


 
Rial ©   (2006-05-16 20:55) [1]

>>Однако подобным образом можно рисовать по рабочему столу
странно, не знал :))

Используй
LineTo(DC: HDC; X, Y: Integer)
Pie(DC: HDC; X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer)
Rectangle(DC: HDC; X1, Y1, X2, Y2: Integer)
и прочие функции из модуля Windows.
Первым параметром передается DC:HDC, причем:

Начало работы
DC:=GetDC(Handle);//Тот хендл, кот. ты получил
...
Конец работы
releaseDC(Handle,DC);

Функциональность та же, что и с Canvas.
С кистями попробуй разобраться сам.


 
REA   (2006-05-17 10:10) [2]

Canvas.Handle := GetDC(Handle);
Try
 ...
Finally
 ReleaseDC(Handle, Canvas.Handle);
End;


 
Neo Trinitron ©   (2006-05-17 10:56) [3]

Может быть у окна на котором идёт рисование вызывается обработчик события OnPaint который разрушает нарисованое и восстанавливает прежний вид окна?...


 
TStas ©   (2006-05-17 15:36) [4]

>REA Canvas.Handle := GetDC(Handle); :) Спасибо, торможу, именно так по столу и рисовал. А все функции рисования без канвы от рисования по канве отличаются на один параметр, как раз DC. Канва же это надстройка просто. ТОрможу. :)



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
3-1145982888
DDDiM
2006-04-25 20:34
2006.06.25
MYSQL И DELPHI


15-1149209179
Коды
2006-06-02 04:46
2006.06.25
Зачем Linux сделали несовместимым с программами под Виндос?


1-1148115679
Freeon
2006-05-20 13:01
2006.06.25
Обратная матрица 4х4, Det=1 (определитель)


3-1146593736
nopox
2006-05-02 22:15
2006.06.25
Помогите разобраться с выборкой из БД


1-1148046577
Damager
2006-05-19 17:49
2006.06.25
Развертывание окна