Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Как Bitmap поместить на DC?   Найти похожие ветки 

 
Th ©   (2002-10-02 20:20) [0]

Подскажите плз. Есть BMP:HBitmap. Надо в методе Paint компонента вывести этот BMP на компонент. Какой это функцией лучше сделать, а то не хочется лишний DC создавать для BitBlt


 
Diamond Cat ©   (2002-10-02 23:48) [1]

надо в сообщении wm_paint подменять hdc на свой. не помню точно но вроде это wparam


 
SPeller ©   (2002-10-03 01:24) [2]


> Diamond Cat © (02.10.02 23:48)

Первый раз о таком слышу.

Вообще, всегда создаётся временный DC и из него копируется на DC который на экран выводит.


 
Юрий Зотов ©   (2002-10-03 02:17) [3]

Canvas.Handle, и ничего создавать не надо.


 
SPeller ©   (2002-10-03 10:26) [4]


> Юрий Зотов © (03.10.02 02:17)

По-моему всё-таки придётся создать ещё один DC, прикрепить к нему битмап, и из него уже копировать на Canvas.Handle


 
Юрий Зотов ©   (2002-10-03 11:44) [5]

А почему не сразу из битмапа?


 
Th ©   (2002-10-03 12:06) [6]

А как сразу из битмапа вывести?


 
k   (2002-10-03 13:19) [7]

в wm_paint передается dc окна, требующего прорисовки
чтоб сделать ч-л с BMP надо сделать его активным на к-н dc,
и оперировать уже с ним


var dc:HDC;
OldHandle:HBITMAP;//старый Handle

dc := GetCompatibleDC(0);
OldHandle := SelectObject(dc, BMP);

//операции копирования BitBlt и т п

SelectObject(dc,OldHandle);// наверное можно и без этого, но хуже не будет
DeleteDC(dc);


 
han_malign   (2002-10-03 14:41) [8]

может он про это(а то не понятно что же нужно)

var bm: TBitmap;
begin
bm.Handle:=BMP;
Canvas.Draw(0,0,bm);
bm.free;
end;


 
Th ©   (2002-10-03 18:03) [9]

> han_malign (03.10.02 14:41)
> может он про это(а то не понятно что же нужно)

Нет я немного не про это ;)) МЕтодами канваса пользоваться как-то западло, извините за выражение.

Вообще, всем спасибо - проблему я решил. Просто вместо CreateCompatibleDC(0) использовал GetDC(0) из-за ничего не получалось с SelectObject и пришлось искать обходные пути. Сейчас все пашет ;)


 
Diamond Cat ©   (2002-10-04 03:28) [10]

2 SPeller почитай хелп на wm_paint


 
Evgeny ©   (2002-10-04 05:18) [11]

>Просто вместо CreateCompatibleDC(0) использовал GetDC(0)
Гланды тоже можно удалять через одно место...


 
SPeller ©   (2002-10-04 13:38) [12]


> 2 SPeller почитай хелп на wm_paint

Передаётся DC на котором ресуют?? Да ради бога. Тогда попробуй обходясь одним этим ДС, не создавая временных, нарисовать битмап на нём.
Удачи.



Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
1-45909
vic_vm
2002-11-03 20:00
2002.11.14
Вопрос по TStringGrid


7-46164
mate
2002-09-11 12:22
2002.11.14
Окна и приложения


14-46128
JavascripT
2002-10-27 12:01
2002.11.14
Русский Размер


14-46121
Rihard
2002-10-27 22:10
2002.11.14
По могите ,СРОЧНО!!!!!!


3-45678
Zloy
2002-10-28 03:26
2002.11.14
Как мне скопировать ячейку с полем GRAPHIC, таблицы Парадокс, в а