Мерцание картинки на форме...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Мерцание картинки на форме...

Сообщение Dex » 31.12.2004 (Пт) 19:11

При передвижении картинки на форме она мерцает как это можно исправить :?:

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 31.12.2004 (Пт) 19:21

Перемещаешь PictureBox? Расскажи подробнее.

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 31.12.2004 (Пт) 19:21

А как передвигаешь??? Кусочек кода для наглядности не помешает.

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 01.01.2005 (Сб) 1:54

Ну вообщето я использую ImageBox а перемещаю его к примеру через таймер:
Код: Выделить всё
Image1.Left=Image1.Left+10 'двигается вдоль оси x вправо
Image1.Top=Image1.Top+10 'двигается вдоль оси y внизImage1.Left=Image1.Left-10 'двигается вдоль оси x влево
Image1.Top=Image1.Top-10 'двигается вдоль оси y вверх
8)

Mongoose
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 29.03.2004 (Пн) 17:03
Откуда: Московский зоопарк

Сообщение Mongoose » 01.01.2005 (Сб) 2:43

Насколько я понял, то объект - image.
Так вот, его мерцание можно лишь слегка уменьшить заданием свойства autoredraw=true у объекта на котором расположен image.
Пользуйся BitBlt, и да пребудет с тобой Сила!

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 01.01.2005 (Сб) 3:30

Всё бы было бы в ажуре, да вот токо как я не знал как использовать BitBlt так и не знаю!!! :cry:

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 01.01.2005 (Сб) 3:44

Не закачивается пример :(

Код: Выделить всё
Private Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Ret as Long

'На форме Picture1 с картинкой и пустая Picture2.
'У Picture1 AutoRedraw=True
Private Sub Form_Click
Ret = BitBlt (Picture2.hDC, 0, 0, 32, 32, Picture1.hDC, 0, 0, vbSrcCopy)
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

    TopList