Форум: "Media";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизСоздать вот так канвас Найти похожие ветки
← →
Canvas (2004-07-25 07:42) [0]почему я не могу просто создать вот так канвас:
cc:=TCanvas.Create;
и сразу на ней рисовать?
почему надо ей hDC присваивать?
без присваивания hDC функции Draw и CopyRect говорят "канвас дро нот аллоу"......
и как присвоить? любой hDC.. (поскольку это врем. объект для хранения врем. инфы)
А?
← →
Canvas (2004-07-25 09:32) [1]Как вообще создать пустой временный TCanvas?
← →
Ertong © (2004-07-25 09:47) [2]Создавай Bitmap. И на нем рисуй! У него тоже есть канвас.
← →
Canvas (2004-07-25 12:04) [3]Это то да..
Но меня интересует именно TCanvas и его Handle...
можно ли получить хэндл не конкретного объекта, а просто..
временный..
← →
Gero © (2004-07-25 12:23) [4]
> Canvas (25.07.04 12:04)
Что значит времменный?
Хэндл по определению это идентефикатор объекта.
И зачем это надо?
← →
Canvas (2004-07-25 13:33) [5]то есть нет.
у куда потенциально можно вообще записать кусок картинки..
тока чтоб его (если там в буфер) не затерли..
чтоб он меня дождался.. )
← →
14560 (2004-07-25 13:33) [6]хендл канваса и есть HDC, это же просто обертка
← →
dmk © (2004-07-25 13:35) [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:40) [8]Ж-)
Да.. на счет этого я тоже в курсе......
и этого:
> хендл канваса и есть HDC, это же просто обертка
но в том то и дело что мне не нужно конкретное окно..
чужое там.. или мое..
мне нужно просто на время (как в буфер) кусок графики залить..
только,
> чтоб он меня дождался..
← →
Gero © (2004-07-25 13:47) [9]Для этого есть bitmap.
← →
dmk © (2004-07-25 14:11) [10]CreateBitmap
CreateBitmapIndirect
CreateCompatibleBitmap
CreateDIBitmap
CreateDIBSection
выбор хороший
Или просто TBitmap
у него и канвас есть ;)
и не затирается ничего =)
← →
Canvas (2004-07-25 14:17) [11]Псибо.
← →
OSokin (2004-07-25 17:13) [12]CreateDC
← →
parovoZZ © (2004-07-25 20:27) [13]Если знаешь хэндл окна, то сможешь узнать его дескриптор, ну а дальше можно делать с кном всё, что душа пожелает. Ну почти всё.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c