Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизКак при скролинге методом ScrollBy убрать мерцание? Найти похожие ветки
← →
Графика (2003-06-09 10:02) [0]Мастера, как решить траблу? Создаю картинку: рисую на Bitmap потом засовываю его в JpegImage и потом засовываю это в Image, а Image в свою очередь лежит в ScrollBox. При прокрутке методом SrollBy наблюдается некрасивое явление - мерцает по краям. Как убрать этот глюк?
← →
Графика (2003-06-09 11:44) [1]мастаки, ну разве никто не сталкивался? помогите хоть чем нибудь?
← →
Song (2003-06-09 11:45) [2]Form1.DoubleBuffered
Но мерцание не уберет, уменьшит.
← →
Графика (2003-06-09 11:49) [3]
> Form1.DoubleBuffered
я хочу сделать ActiveX компонент, как там быть? там формы нет....
← →
McSimm2 (2003-06-09 11:53) [4]BitBlt() ??? может
← →
Графика (2003-06-09 11:56) [5]
> BitBlt() ??? может
примерчик как пользоваться не подкинешь?
← →
McSimm2 (2003-06-09 13:02) [6]При работе с графикой - используй мнтод двойной буферизации. Т.е. сначала всё рисуй на битмапе, а уже потом копируй его на рабочий битмап (BitBlt). А что бы про мерцание "вообще забыть" перехватывай WM_ERASEBKGND и в его теле ничего не пиши.
WM_ERASEBKGND: begin
//--
end;
wm_Paint : begin
BeginPaint(Window, PaintStr);
hCompatibleDC:= CreateCompatibleDC(0);
hOldBitMap:=SelectObject(hCompatibleDC,CreateBitmap (ClientRect.right- ClientRect.left,ClientRect.Bottom -ClientRect.top, GetDeviceCaps (hCompatibleDC,PLANES), GetDeviceCaps(hCompatibleDC,BITSPIXEL),0));
FillRect(hCompatibleDC, ClientRect, Brush);
SetBkMode(hCompatibleDC,TRANSPARENT);
SelectObject(hCompatibleDC,Font);
BitBlt(PaintStr.hdc,0,0,ClientRect.right,ClientRect.bottom,hCompatibleDC,0,0,SRCCOPY);
DeleteObject(SelectObject(hCompatibleDC,hOldBitMap));
DeleteDC(hCompatibleDC);
EndPaint(Window,PaintStr);
end;
← →
Графика (2003-06-09 13:25) [7]
> А что бы про мерцание "вообще забыть" перехватывай WM_ERASEBKGND
> и в его теле ничего не пиш
нет осталось мерцание...
← →
Графика (2003-06-09 14:30) [8]что - то не догоню... пишу
...
BitBlt(Canvas.Handle,0,0,250,250,Btm.Canvas.Handle,0,0,SrcCopy);
...
рисунка нет.
видно что при Resize - рисунок появляется а потом пропадает.
Что подскажете мастера?
← →
VMcL (2003-06-09 15:13) [9]>Графика (09.06.03 14:30)
>что - то не догоню... пишу
>...
>BitBlt(Canvas.Handle,0,0,250,250,Btm.Canvas.Handle,0,0,SrcCopy);
где "пишу"?
← →
Графика (2003-06-09 15:20) [10]
> VMcL © (09.06.03 15:13)
уже догнал, может подскажете как лучше сделать скролинг?
я не знаю как скопировать кусок из Bitmap с заданой координаты и потом нарисовать BitBtl?
← →
McSimm2 (2003-06-09 15:21) [11]пиши в теле процедуры, которая отрисовывает твой скроллбар
← →
Графика (2003-06-09 15:42) [12]мастаки, как скопировать кусок из невидимой части и нарисовать?
← →
Графика (2003-06-09 16:06) [13]мастаки, помогите, плиз ...
← →
McSimm2 (2003-06-09 16:29) [14]что значит из не видимой ??
← →
Графика (2003-06-09 16:48) [15]Все, всем, спасибо, сам допер.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.026 c