Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
2 / 1 / 1
Регистрация: 20.04.2019
Сообщений: 10
1

Проблема с созданием окна в SDL2

13.07.2020, 23:55. Показов 1758. Ответов 2
Метки sdl2 (Все метки)

Author24 — интернет-сервис помощи студентам
Установил себе библиотеку SDL2-2.0.12 с официального сайта. Вроде как даже сделал это правильно. Теперь хочу создать с ее помощью приложение в виде одного окна (фиксированного размера) с картинкой, но так чтобы это окно можно было двигать по дисплею/сворачивать/разворачивать/закрывать. Картинку нарисовал, код такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <SDL.h>
 
using namespace std;
 
int main(int argc, char* argv[]){
    if(SDL_Init(SDL_INIT_EVERYTHING)) return 0;
    SDL_DisplayMode DisplayMode;
    if(SDL_GetCurrentDisplayMode(0, &DisplayMode)) return 0;
    SDL_Window* win = SDL_CreateWindow("Hello World!", SDL_WINDOWPOS_UNDEFINED_MASK , SDL_WINDOWPOS_UNDEFINED_MASK, 800, 800, SDL_WINDOW_SHOWN);
    SDL_Renderer* ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
    SDL_Surface* bmp = SDL_LoadBMP("bcg.bmp");
    SDL_Texture* tex = SDL_CreateTextureFromSurface(ren, bmp);
    SDL_FreeSurface(bmp);
    SDL_RenderClear(ren);
    SDL_RenderCopy(ren, tex, NULL, NULL);
    SDL_RenderPresent(ren);
    while(true);
    return 0;
};
В "Свойства конфигурации"->"Компоновщик"->"Система"->"Подсистема" я поставил Windows. Скомпилировал. Получилась какая-то фигня. Во-первых окно не перетаскивается по дисплею/не сворачивается/не разворачивается/не закрывается через крестик в верхнем правом углу и его значок на панели задач не реагирует на нажатия. Во-вторых при наведении на него указателя мыши он превращается в кружочек (окно виснет). ЧЯДНТ? Надо дописать каких-нибудь флагов в SDL_CreateWindow?
P.S. Пишу в Visual Studio 16.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2020, 23:55
Ответы с готовыми решениями:

Проблема c созданием окна
При нажатии на одну из кнопок должно создаваться ещё одно окно, но ничего не происходит. Не могу...

CreateWindow проблема с созданием окна
Здравствуйте, есть у меня две програмки. Такая #include &lt;Windows.h&gt; const wchar_t * ClassName =...

Проблема с созданием окна GLFW
Товарищи, объясните проблему, вот исходник из учебника на habr.com: // hellow.cpp : Defines the...

SDL2 создание диалогов окна
Здравствуйте. Встал вопрос как создать форму с полем ввода текста в SDL2. Что то вроде....

2
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
14.07.2020, 00:14 2
Лучший ответ Сообщение было отмечено dead slug как решение

Решение

Цитата Сообщение от dead slug Посмотреть сообщение
while(true);
Ты, вместо обработки событий окна, просто вогнал программу в бесконечный цикл. Вот и всё.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    //...
    SDL_FreeSurface(bmp);
    SDL_Event e;
    bool quit = false;
    while (!quit){
        while (SDL_PollEvent(&e)){
            if (e.type == SDL_QUIT){
                quit = true;
            }
        }
        SDL_RenderClear(ren);
        SDL_RenderCopy(ren, tex, NULL, NULL);
        SDL_RenderPresent(ren);
        //
    }
    //нафиг while(true);
1
2 / 1 / 1
Регистрация: 20.04.2019
Сообщений: 10
14.07.2020, 00:36  [ТС] 3
Тоже самое, кстати происходит и при использовании STD_Delay. А вот cin.get() ни на что не влияет, хотя это странно - окно консоли ведь всего-лишь скрыто.
0
14.07.2020, 00:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2020, 00:36
Помогаю со студенческими работами здесь

Проблема с функцией (SDL2)
Доброго времени суток! Недавно начал эксперименты с SDL2. На С. С++ не знаю. Создал рабочую...

Изменение размера окна приводит к чёрному экрану, SDL2 + OpenGL
Здравствуйте! Собственно, вот такая проблема. Есть некоторое приложение, рисующее несколько...

Проблема с созданием запроса
Здравствуйте! Имеется база данных, в таблице есть значения марка материала и гост, ...

Проблема с созданием разделов
Раньше у меня был XP и было там 3 диска: С,Д,Е. Все нужные файлы я скинул на Е. При установке вин7...

Проблема с созданием экземпляра БД
Стоит Oracle 7.3 и windows XP имеется в наличии 1) холодный бекап базы 2) init.ora ...

Проблема с созданием подписи
Lotus Domino 8.5.3 FP6 на одном из почтовых файлов пропала возможность настроить подпись т.е. в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru