Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
programonce
0 / 0 / 0
Регистрация: 10.05.2012
Сообщений: 4
#1

Дввойная буферизация - C++

15.05.2012, 23:32. Просмотров 255. Ответов 0
Метки нет (Все метки)

Работаю в WinForm VS(2010) с++
Не могу понять как реализовать в двойную буферизацию.
Я затираю эллипс (всего n нужен пример с двумя)(рисуя его цветом фона), нахожу новые координаты, рисую его другим цветом, из-за этого мигание.
Как реализовать, чтобы это делалось в буфере, а нам выдавался только рисунок со смещёнными эллипсами?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SolidBrush^ myBrush123 = gcnew SolidBrush( Color::FromArgb( 255, 0,0 ,0 ) );
                 System::Drawing::Graphics^ formGraphics1;
formGraphics1 = this->CreateGraphics(); 
formGraphics1->FillEllipse(myBrush123, Rectangle(this->Width / 2 + lengthScreen * particleSystem[ 1 ].xCoord , 
                                                              this->Height / 2 + lengthScreen * particleSystem[ 1 ].yCoord , 10, 10));
                 
myBrush123->Color = Color::FromArgb( 255, 0, 0 ,0 );
formGraphics1->FillEllipse(myBrush123, Rectangle(this->Width / 2 + lengthScreen * particleSystem[ 2 ].xCoord , 
                                                              this->Height / 2 + lengthScreen * particleSystem[ 2 ].yCoord , 10, 10));
                
movementCalculationGravityInTimer(particleSystem);                              //рассчет движения
 
myBrush123->Color = Color::FromArgb( 255, 255, 0 ,0 );               
formGraphics1->FillEllipse(myBrush123, Rectangle(this->Width / 2 + lengthScreen * particleSystem[ 1 ].xCoord , 
                                                              this->Height / 2 + lengthScreen * particleSystem[ 1 ].yCoord , 10, 10));
                 
myBrush123->Color = Color::FromArgb( 255, 0,255 ,0 );
formGraphics1->FillEllipse(myBrush123, Rectangle(this->Width / 2 + lengthScreen * particleSystem[ 2 ].xCoord , 
                                                              this->Height / 2 + lengthScreen * particleSystem[ 2 ].yCoord , 10, 10));
Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 23:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дввойная буферизация (C++):

двойная буферизация - C++
Здравствуйте. Ребят не сочтите за труд, помогите разобраться. Проблема собственно вот в чём: Пишу тетрис, в окошке находится стакан с...

двойная буферизация - C++
можете помочь мне нужен простой пример двойной буферизации а то уже второй день не могу разобраться...и если можно прокоментированый код....

Нужна двойная буферизация для программы - C++
Сделал игру змейка.Но не могу найти нигде как использовать двойную буферизацию, потому что моргания портят вид.Может кто знает? #include...

Двойная буферизация. - C#
подскажите, что я делаю не так. protected override void OnPaint(PaintEventArgs e) { // Graphics g =...

Двойная буферизация - C++ WinAPI
Добрый день! Имеется обычное оконное приложение Win32, необходимо реализовать при рисовании механизм двойной буферизации. Вот мой код, по...

Двойная буферизация! - Visual C++
Пишу очень облегченное и просто подобие старого Пеинта, но столкнулся с одной проблемой рпи использовании двойной буферизации. Вот пример...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2012, 23:32
Привет! Вот еще темы с ответами:

Двойная Буферизация - Java
Добрый вечер. При создании двойной буферизации при попытке получить графический контекст getGraphics() получаю NullPointerException. Все...

Двойная буферизация - C#
Собственно, не работает ни при DoubleBuffered = true;, ни при SetStyle(ControlStyles.OptimizedDoubleBuffer, true);.. Форма состоит из...

Двойная буферизация - C++ WinAPI
Написал тетрис (но только с палочками (друг попросил сделать =) )) Писал на чистом WinAPI, в WM_PAINT происходит сначала отрисовка...

Двойная буферизация - C#
Надо включить двойную буферизацию в приложении. на MSDN написано, что это делается так: DoubleBuffered = true; или так: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru