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

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

Войти
Регистрация
Восстановить пароль
 
quqeiqa
3 / 3 / 0
Регистрация: 22.01.2014
Сообщений: 38
#1

WinAPI: Обновление графики - C++

22.01.2014, 19:54. Просмотров 329. Ответов 0
Метки нет (Все метки)

Вот код на DevC++
(шаблон OpenGL-проектов)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
        if (PeekMessage (&msg, NULL, 0, 0, 0x0001))
        {
            if (msg.message == WM_QUIT)
            {
                bQuit = TRUE;
            }
            else
            {
                TranslateMessage (&msg);
                DispatchMessage (&msg);
            }
        }
        else
        {
            // Здесь обновляется графика:
            glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
            glClear (GL_COLOR_BUFFER_BIT);
            
            glPushMatrix ();
            glRotatef (theta, 0.0f, 0.0f, 1.0f);
            glBegin (GL_TRIANGLES);
            glColor3f (1.0f, 0.0f, 0.0f);   glVertex2f (0.0f, 1.0f);
            glColor3f (0.0f, 1.0f, 0.0f);   glVertex2f (0.87f, -0.5f);
            glColor3f (0.0f, 0.0f, 1.0f);   glVertex2f (-0.87f, -0.5f);
            glEnd ();
            glPopMatrix ();
 
            SwapBuffers (hDC);
 
            theta += 0.15f;
            Sleep (1);
        }

Вот тот же код на C#

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                        WinAPI.MSG msg = new WinAPI.MSG();
 
            if (WinAPI.PeekMessage(ref msg, IntPtr.Zero, 0, 0, 0x0001))
            {
                if (msg.message == (uint)WM.QUIT)
                {
                    Environment.Exit(0);
                }
                else
                {
                    WinAPI.TranslateMessage(ref msg);
                    WinAPI.DispatchMessage(ref msg);    
                }
            }
            else
            {
                        //Тут должная обновляться графика,
                        // но этот код недостижим и даже выхода не происходит
                Environment.Exit(0);
            }

В DevC++ графика обновляется и рисуется. В C# этот же блок кода недостижим.

1. Почему?
2. Что не так?
3. Как надо?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 19:54     WinAPI: Обновление графики
Посмотрите здесь:

Вывод на монитор графики, не используя WinAPI - C++
Каким образом можно осуществлять работу с графикой и мультимедиа, не используя функции winapi? Не думаю, что это невозможно, ведь полно...

Winapi: обновление текста в окне - C++
По таймеру каждые 100мс обновляю текст в Edit Control. Но проблема в том, что очень сильно заметны моргания текста при обновлении. Поэтому...

Графики (Нужно в VC++ построить графики...) - C++
Нужно в VC++ построить графики...Двумерные и трехмерные...Не подскажете как?

gethostbyname winapi - C++
Блин как этот winapi уже достал, microsoft такой геморой написали:( Как получить ip адрес по доменому имени? int main(){ WSADATA...

C++ WinAPI Кнопки - C++
Делаю одну программу, и в процессе создания возникла небольшая проблема: окно обновляется лишь при растягивании. Вкратце суть: Есть...

winapi и консоль - C++
Добрый день. Если приложение - некое подобие чата. Запускается одна и таже апликуха 2 раза и соединяется друг к другу посредством 4 сокетов...

NUMLINES в WinApi - C++
Что такое это NUMLINES в WinApi и как оно рассчитывается? Петзольд в примере постоянно его использует, пример ...

Приложение WinApi на C++ - C++
После компиляции выводит следующее сообщение "Необработанное исключение в "0x7672828c" в "Диспетчер.exe": 0xC0000005: Нарушение прав...

Из консоли в WinApi - C++
Доброго времени суток всем. Есть код программы для консоли, нужно этот код использовать для WinApi приложении, но я не могу понять как...

Игра на С++ WinAPI - C++
Господа программисты поделитесь опытом курсак по программированию на Си и осталось неделя до здачи нужно написать игру в VC2010 (хотя...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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