Главная страница
    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.038 c
1-84354
Rinat
2003-06-16 14:04
2003.06.26
Не могу разобраться с компонентом на основе кнопки


14-84571
лавра
2003-06-07 23:10
2003.06.26
Вес


14-84669
Jurd
2003-06-08 17:03
2003.06.26
Где взять компоненту?


3-83948
me2
2003-06-04 12:35
2003.06.26
Удаление записи из набора данных


14-84666
LiLa Ananda
2003-06-08 12:47
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский