Главная страница
    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.031 c
14-84748
Ренат
2003-06-06 09:28
2003.06.26
Помогите спасти логический диск


14-84561
RIMMER
2003-06-07 23:54
2003.06.26
Интерфейс и методы


6-84496
Akni
2003-04-22 16:18
2003.06.26
Nonblocking Socket в отдельном потоке


1-84411
Гость необразованный
2003-06-09 18:51
2003.06.26
иконка на кнопке


1-84364
SLI
2003-06-16 18:23
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский