Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];

Вниз

Как 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
1-45941
stilet
2002-11-04 08:57
2002.11.14
Как сделать многопоточное прил. добавления ~миллиона букв в Memo?


14-46142
vopros
2002-10-28 12:26
2002.11.14
Акция.


14-46058
Almaz
2002-10-24 23:33
2002.11.14
Встреча мастаков в Санкт-Петербурге


1-45942
stilet
2002-11-04 08:56
2002.11.14
подскажите, как показать все дирректории диска в виде дерева?


3-45683
Zloy
2002-10-26 16:02
2002.11.14
А как в таблицу парадокс, в поле график запихнуть jpeg.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский