Форум: "Начинающим";
Текущий архив: 2011.06.26;
Скачать: [xml.tar.bz2];
ВнизНе работает двойная буфернизация (( Найти похожие ветки
← →
grigor (2011-03-24 22:35) [0]Код работал когда вместо WinAPI окна использовал диалоговое из ресурса:
var
OUT_DC: HDC;
OUT_WIDTH, OUT_HEIGHT:Integer;
BUF_DC: HDC;
BUF_BMP:HBITMAP;
function dInitialize(OutDC:HDC; Widht, Height: Integer):Integer;
begin
Result := 0; // 0 - ошибок нет
OUT_DC := OutDC;
OUT_WIDTH := Widht;
OUT_HEIGHT := Height;
BUF_DC := CreateCompatibleDC(OutDC);
if BUF_DC = 0 then
begin
Result := 1;
Exit;
end;
BUF_BMP := CreateCompatibleBitmap(OutDC, Widht, Height);
if BUF_BMP = 0 then
begin
Result := 2;
Exit;
end;
if SelectObject(OUT_DC, BUF_BMP) = 0 then
begin
Result := 3; // < --- Тут SelectObject почему-то возвращает 0 (( !!!!!!
Exit;
end;
end;
//...
var
wDC:HDC;
//...
Handle := CreateWindowEx(0, WIN_CLASS, WIN_TITLE,
WS_OVERLAPPED or WS_SYSMENU or WS_CAPTION or WS_MINIMIZEBOX,
100, 100, WIN_WIDTH, WIN_HEIGHT, 0, 0, Hinstance, nil);
wDC := GetDC(Handle);
//...
PatBlt(BUF_DC, 0, 0, OUT_WIDTH, OUT_HEIGHT, BLACKNESS);
SetPixel(BUF_DC, 10,10 ,rgb(255,0,0));
BitBlt(OUT_DC, 0, 0, OUT_WIDTH, OUT_HEIGHT, BUF_DC, 0, 0, srcCopy);
//Ничего не выводит
//...
← →
Игорь Шевченко © (2011-03-24 22:57) [1]
> Ничего не выводит
больно слышать
← →
Rouse_ © (2011-03-25 00:10) [2]
> Тут SelectObject почему-то возвращает 0
Для ситуаций "почему-то" есть GetLastError, отвечающая "патамушта"
← →
Игорь Шевченко © (2011-03-25 00:25) [3]
> if SelectObject(OUT_DC, BUF_BMP) = 0 then
не в BUF_DC надо BUF_BMP ?
← →
grigor (2011-03-25 00:29) [4]>Для ситуаций "почему-то" есть GetLastError, отвечающая "патамушта"
Она у меня отвечает 0 )))
>не в BUF_DC надо BUF_BMP ?
ААА! Точно! На мне сказывается недосып, 5 рез проверил не заметил((
Так верно:SelectObject(BUF_DC, BUF_BMP)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.06.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c