Главная страница
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.019 c
4-40724
OHP
2003-08-01 00:17
2003.10.13
Scroll как офисе


3-40269
ss300
2003-09-23 08:19
2003.10.13
подключение к ОРАКЛ через Оракл


14-40639
bug008
2003-09-21 13:03
2003.10.13
вопрос по Word.


8-40519
Ламер
2003-06-12 15:53
2003.10.13
Сохранение рисунка


1-40420
Agent[007]
2003-09-30 17:20
2003.10.13
xxx in xxx.pas ;