Форум: "WinAPI";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
ВнизЗагрука и отображение bitmap Найти похожие ветки
← →
Sinus © (2006-08-14 18:43) [0]Привет всем
необходимо загрузить битмап из ресурса ( я использовал LoadBitmap) и нарисовать (отобразить его на форме).
Форма написана на АПИ и Санвас -а у нее нет.
если можно общий ход решения и функции для реализации,
и вопрос в тему... как вообще отображать рисунки на кнопках и едитах. про то что используется DC я уже сам сообразил..
← →
Leonid Troyanovsky © (2006-08-14 21:37) [1]
> Sinus © (14.08.06 18:43)
> необходимо загрузить битмап из ресурса ( я использовал LoadBitmap)
> и нарисовать (отобразить его на форме).
> Форма написана на АПИ и Санвас -а у нее нет.
Во-первых, формы написанные на АПИ, есть тоже, что формы VCL.
Бо, ничего более (объектной оболочки) и представить сложно.
Если это, конечно, формы, а не, скажем, окна.
Во-вторых, ресурсы бывают разные.
Скажем, в exe. Или в длл.
--
Regards, LVT.
← →
DVM © (2006-08-14 23:12) [2]
> необходимо загрузить битмап из ресурса ( я использовал LoadBitmap)
Раз использовал, значит загрузил. HBITMAP получил?
DC окна, я полагаю, тоже имеется?
тогда как то так:
procedure DrawBitmap(dc: HDC; hBitmap: HBITMAP; xStart, yStart: integer); stdcall;
var
bm: BITMAP;
hdcMem: HDC;
ptSize, ptOrg: TPoint;
begin
if dc <> 0 then
begin
hdcMem := CreateCompatibleDC(dc);
if (hdcMem <> 0) and (hBitmap <> 0) then
begin
SelectObject(hdcMem, hBitmap);
SetMapMode(hdcMem, GetMapMode(dc));
GetObject(hBitmap, sizeof(BITMAP), @bm);
ptSize.x := bm.bmWidth;
ptSize.y := bm.bmHeight;
DPtoLP(dc, ptSize, 1);
ptOrg.x := 0;
ptOrg.y := 0;
DPtoLP(hdcMem, ptOrg, 1);
BitBlt(dc, xStart, yStart, ptSize.x, ptSize.y, hdcMem, ptOrg.x, ptOrg.y, SRCCOPY);
DeleteDC(hdcMem);
end;
end;
end;
P.S Нет в WinAPI никаких форм. Форма - это понятие Delphi
← →
jTommy (2006-11-03 00:30) [3]Хотелось бы уточнить, подпрограмма DrawBitmap предназначена только для рисования в окне приложения или в элементах управления тоже должна работать?
Элемент управления создаю во время выполнения:
[code]
imBanner:=CreateWindowEx(0, "STATIC", "", WS_VISIBLE or WS_CHILD or SS_BITMAP, 0, 0, 400, 64, MainWnd, id_imBanner, hInstance, nil);
// Получаю контекст, результат не 0
bDC:=GetDC(imBanner);
// Загружаю растр, результат тоже не 0
hbmp:=LoadBitmap(hInstance, "BANNER1");
// Внутри подпрограммы тоже никаких ошибок не возникает
DrawBitmap(bDC, hbmp, 0, 0);
[/code]
В результате изображения не видно :(.
← →
Ketmar © (2006-11-03 01:38) [4]>[2] DVM(c) 14-Aug-2006, 23:12
а зачем столько лишних телодвижений?
← →
Ketmar © (2006-11-03 01:39) [5]>[3] jTommy 3-Nov-2006, 00:30
а какого ангела его должно быть видно? не пробовал о обработчике событий рисовать, а?
книжки, барин, -- они рулёз.
← →
@!!!ex (2006-11-03 08:51) [6]Удалено модератором
Примечание: Нарушаешь
← →
DVM © (2006-11-03 10:02) [7]
> а зачем столько лишних телодвижений?
Так у Петзольда написано. И у Юаня похоже. А какие телодвижения вызывают вопрос?
← →
Ketmar © (2006-11-03 10:44) [8]>[7] DVM(c) 3-Nov-2006, 10:02
>А какие телодвижения вызывают вопрос?
все, кроме BitBlt(). %-)
← →
DVM © (2006-11-03 10:53) [9]
> все, кроме BitBlt()
BitBlt не работает с битмапами, она работает с DC - отсюда все телодвижения.
← →
Ketmar © (2006-11-03 10:56) [10]>[9] DVM(c) 3-Nov-2006, 10:53
>BitBlt не работает с битмапами, она работает с DC - отсюда
>все телодвижения.
а, блин! извиняюсь. спать надо больше. протупил я что-то.
← →
jTommy (2006-11-03 17:52) [11]
> Ketmar © (03.11.06 01:39) [5]
> книжки, барин, -- они рулёз.
Знаю я, что они рулез, вот только по программированию (именно программированию) в Win32 что-то книг особо не видно. Может я давно в книжном не появлялся? :)
P.S.: Свою проблему решил через SS_OWNERDRAW и WM_DRAWITEM.
← →
Ketmar © (2006-11-04 23:15) [12]>[11] jTommy 3-Nov-2006, 17:52
>Знаю я, что они рулез, вот только по программированию (
>именно программированию) в Win32 что-то книг особо не
>видно. Может я давно в книжном не появлялся? :)
интернет крысы съели?
← →
DVM © (2006-11-05 10:35) [13]
> Знаю я, что они рулез, вот только по программированию (именно
> программированию) в Win32 что-то книг особо не видно.
www.natahaus.ru
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.048 c