Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.028 c
1-84087
fs_more
2003-06-09 13:36
2003.06.26
Неопределенность при вызове метода TThread.Terminate


14-84734
OlegM
2003-06-05 14:35
2003.06.26
Будет ли работать WebBrowser если на компе польз. не устан. IE


1-84130
Far
2003-06-09 19:47
2003.06.26
SetFocus


7-84765
Hamel1on
2003-04-15 11:55
2003.06.26
Как сделать программу службой в Win2k?


14-84629
NeWuS
2003-06-08 09:59
2003.06.26
Текст





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