Главная страница
    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.46 MB
Время: 0.013 c
1-45981
Serge Pik
2002-11-04 16:04
2002.11.14
Редактирование TChart перетаскиванием точек мишью.


3-45676
Serginio
2002-10-27 14:08
2002.11.14
Ктонибудь сравнивал ado и dbexpress при работе с MS SQL


1-45883
AL2002
2002-11-05 17:43
2002.11.14
Как узнать количество поторяющихся строк в ListBox?


1-45975
Calm
2002-11-04 15:24
2002.11.14
Как определить высоту (height) строки TMemo?


3-45704
Ренат
2002-10-23 10:54
2002.11.14
Таблицы foxpro





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский