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

Вниз

Как нарисовать что-нибудь на контроле, не имеющем Canvas a?   Найти похожие ветки 

 
Romeo ©   (2003-09-30 16:59) [0]

Собственно все...
Заранее спасиба


 
ZEE ©   (2003-09-30 17:02) [1]

положить на этот контрол TPaintBox или TImage и на нем нарисовать...


 
willys ©   (2003-09-30 17:05) [2]

смотря что за контрол. если у него есть хендл, то можно получить его DC и рисовать с помощь WinAPI.


 
Nikolay M. ©   (2003-09-30 17:05) [3]

Если Handle окна у контрола имеется, тогда
var
DC : HDC;
begin
DC := GetDC (MyControl.Handle);
try
... // API-функции для работы с DeviceContext
finally
ReleaseDC (DC, MyControl.Handle);
end;
end;

примерно так. ПисАл по памяти, мож где споткнулся...


 
han_malign ©   (2003-09-30 17:15) [4]

> положить на этот контрол TPaintBox или TImage и на нем нарисовать...
- обычно этот "контрол" не является потомком TWinControl и поэтому "положить" на него - не получится.

>Romeo ©
- посмотри реализацию TGraphicControl и/или TCustomControl в Controls.pas и все вопросы отпадут...(ну, немножко методов дописать/перекрыть придется, но на то он и ООП)


 
han_malign ©   (2003-09-30 17:19) [5]

>DC := GetDC (MyControl.Handle);
- если Handle имеется (а у "контролов" он имеется всегда) то можно и не мудрствуя лукаво:
FCanvas := TControlCanvas.Create;
TControlCanvas(FCanvas).Control := Self;
:)))
З.Ы. Хотя с DC тоже поковыряться полезно...


 
romeo ©   (2003-09-30 17:27) [6]


> han_malign ©


RESPECT


 
Nikolay M. ©   (2003-09-30 17:32) [7]


> han_malign © (30.09.03 17:19) [5]

Handle - это привилегия T WinControl, а не TControl.


 
PVOzerski ©   (2003-10-01 17:53) [8]

А если это не потомок tWinControl, то фактически он (скорее всего - если только это не окошко, созданное "мимо" VCL) использует DC (=Canvas.Handle) окошка, на котором расположен, надо только пересчитать координаты.



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

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

Наверх




Память: 0.48 MB
Время: 0.03 c
14-40629
Jeer
2003-09-24 16:12
2003.10.13
Что нужно делать


14-40675
Владислав
2003-09-18 12:57
2003.10.13
Нужна информация по СУБД.


14-40668
GiGiPage
2003-09-23 13:58
2003.10.13
Билет по физике


14-40583
Александр999
2003-09-18 09:12
2003.10.13
сотовый и ноутбук .........или модем


4-40734
likeanangel
2003-08-08 11:12
2003.10.13
Графический вывод на DC