![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создать вот так канвас [D6, WinXP]
Canvas © (2004-07-25 07:42:00)почему я не могу просто создать вот так канвас:
cc:=TCanvas.Create;
и сразу на ней рисовать?
почему надо ей hDC присваивать?
без присваивания hDC функции Draw и CopyRect говорят "канвас дро нот аллоу"......
и как присвоить? любой hDC.. (поскольку это врем. объект для хранения врем. инфы)
А?
parovoZZ (2004-07-25 20:27:00) [1]Если знаешь хэндл окна, то сможешь узнать его дескриптор, ну а дальше можно делать с кном всё, что душа пожелает. Ну почти всё.
OSokin (2004-07-25 17:13:00) [2]CreateDC
Canvas (2004-07-25 14:17:00) [3]Псибо.
dmk (2004-07-25 14:11:00) [4]CreateBitmap
CreateBitmapIndirect
CreateCompatibleBitmap
CreateDIBitmap
CreateDIBSection
выбор хороший
Или просто TBitmap
у него и канвас есть ;)
и не затирается ничего =)
Gero (2004-07-25 13:47:00) [5]Для этого есть bitmap.
Canvas (2004-07-25 13:40:00) [6]Ж-)
Да.. на счет этого я тоже в курсе......
и этого:
> хендл канваса и есть HDC, это же просто обертка
но в том то и дело что мне не нужно конкретное окно..
чужое там.. или мое..
мне нужно просто на время (как в буфер) кусок графики залить..
только,
> чтоб он меня дождался..
dmk (2004-07-25 13:35:00) [7]Если вы внимательно посмотрите на исходные функции
WinApi, для которых TCanvas является оберткой,
то увидите, что почти каждой API-функции нужно
указывать контекст(DC) на котором требуется
отрисовка. Можно на ходу менять контекст вывода.
Например:
var
dc: hdc;
mc: TCanvas;
begin
dc := GetDC(0);
mc := TCanvas.Create;
mc.Handle := dc;
mc.Ellipse(10, 10, 300, 200);
ReleaseDC(0, dc);
dc := GetWindowDC(Self.Handle);
mc.Handle := dc;
mc.Ellipse(100, 300, 300, 400);
mc.Free;
ReleaseDC(Self.Handle, dc);
end;
Canvas (2004-07-25 13:33:00) [8]то есть нет.
у куда потенциально можно вообще записать кусок картинки..
тока чтоб его (если там в буфер) не затерли..
чтоб он меня дождался.. )
14560 (2004-07-25 13:33:00) [9]хендл канваса и есть HDC, это же просто обертка
Gero (2004-07-25 12:23:00) [10]
> Canvas (25.07.04 12:04)
Что значит времменный?
Хэндл по определению это идентефикатор объекта.
И зачем это надо?
Canvas (2004-07-25 12:04:00) [11]Это то да..
Но меня интересует именно TCanvas и его Handle...
можно ли получить хэндл не конкретного объекта, а просто..
временный..
Ertong (2004-07-25 09:47:00) [12]Создавай Bitmap. И на нем рисуй! У него тоже есть канвас.
Canvas (2004-07-25 09:32:00) [13]Как вообще создать пустой временный TCanvas?