Главная страница
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.033 c
1-40341
td
2003-10-01 23:34
2003.10.13
VCLZip % VCLUnZip


14-40662
Журнал "Здоровье"
2003-09-23 22:45
2003.10.13
Нам пишут


14-40607
афвуд
2003-09-24 21:13
2003.10.13
Надо мне свой Инспектор обьектов написать.


1-40406
w666w
2003-09-29 18:20
2003.10.13
Программное выделение текста в WB


3-40273
M126
2003-09-22 07:00
2003.10.13
Запрос на поиск