Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
7-40709
Kikimora
2003-07-31 23:34
2003.10.13
com порт


3-40297
Mamed
2003-09-24 10:52
2003.10.13
Что вы подумете об етом?


1-40508
Opera
2003-10-02 08:17
2003.10.13
ShellListView


14-40576
Nik8.
2003-09-22 12:57
2003.10.13
:))


1-40499
Vcall
2003-10-02 10:19
2003.10.13
параметры при запуске экзешника




   Наверх