Форум программистов, компьютерный форум CyberForum.ru

Как сделать анимацию без мерцания? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как расположить control в гл. окне http://www.cyberforum.ru/cpp-beginners/thread462865.html
Подскажите пожайлуста! Есть гл. окно с меню (создано без MFC) Как на этом окне расположить control'ы - т.е button'ы, Static Text и с помощью какой ф-ции можно поменять свойство этого control'а - к примеру, Caption у button'а? Спасибо.
C++ Задача - программно из под VC запустить 1С Народ,помогите. Задача - программно из под VC запустить 1С. Проблема - отсутствие библиотечных файлов *.tlb,*.olb в 1С. причем в описании написано, что в Бейсике такая задача просто решается созданием объекта V77.Application. Что делать? Заранее благодарен... http://www.cyberforum.ru/cpp-beginners/thread462840.html
СToolTipCtrl для СToolBar, который на СFormView Visual C++
В своём приложении я делю главное окно-рамку на три части, используя CSplitterWnd. В каждом получившимся подокне(pane) отображаю разные объекты классов, производных от CFormView с подключёнными к ним соответствующими шаблонами диалогов. Затем, в одном из FormView помещаю CToolBar и привязываю к нему созданный специально для него CToolTipCtrl. Делаю в OnInitialUpdate() этот FormView активным, с...
C++ Помогите организовать сворачивание всех открытых окон
господа! нужно реализовать сворачивание всех открытых окон а-ля кнопка 'свернуть все окна' в 98-х + блокировку разворачивания. проблема состоит в том, что среди top-level windows в дереве есть как окна приложений, так и разные ole контейнеры, которые, по сути, являются неотображаемыми окнами и, если после сворачивания путём ShowWindow(hwnd, SW_HIDE), я пытаюсь развернуть их с помощью...
C++ Чем отличаются ф-ии GlobalAllocPtr() и malloc()? http://www.cyberforum.ru/cpp-beginners/thread462821.html
Здрасьте! Чем отличаются ф-ии GlobalAllocPtr() и malloc()? Спасибо!
Visual C++ Иконка "MFC" при создании AppWizardом приложения Как избавиться или заменить иконку программки на на свою и где? Никак не меняется. подробнее

Показать сообщение отдельно
VDA
Сообщений: n/a

Как сделать анимацию без мерцания? - C++

03.12.2007, 10:51. Просмотров 2626. Ответов 14
Метки (Все метки)

Возьмем простой пример есть рисунок bmp с нарисованным обьектом.
Я хочу чтобы он например перемещался по экрану .
Для этого загружаю рисунок в виртуальное окно.Затем с помощью
DC.BitBlt вывожу на экран.ПРичем ипользуя таймер
сдвигаю в каждое прерывание координаты вывода виртуального окна на экран.Но все мерцает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
CMainWnd::CMainWnd()
{
        CClientDC DC(this);
        m_memDC.CreateCompatibleDC(&DC);
    
     CBitmap bit;
    bit.LoadBitmap(IDB_BITMAP1);
    m_memDC.SelectObject(&bit);
       
        Create(NULL,'Animation',WS_OVERLAPPEDWINDOW,rectDefault,
        NULL,NULL);                     // 
}
Затем в таймере сдвигаю изображение
C++
1
2
3
4
5
6
7
void CMainWnd::OnTimer(UINT ID)
{
int dX=2;
int     dY=4;
    Movv.fnMove(dX,dY);
InvalidateRect(NULL);
}
и перерисовывем его
C++
1
2
3
4
5
6
void CMainWnd::OnPaint()
{ 
    
CPaintDC DC(this);
DC.BitBlt(Movv.fnGetX(),Movv.fnGetY(), Movv.fnGetX()+300,Movv.fnGetY()+300,&m_memDC,0,0,SRCCOPY);
}
Как еще это можно сделать ? чтобы рисунок перемещался плавно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru