SDL Window 不可点击(最小化和关闭按钮不起作用)

SDL Window not clickable (minimize and close button not working)

当 SDL Window 打开时,我无法在 window 上单击任何内容,我的光标是蓝色的加载光标。所以,当我尝试最小化 window 时,它什么也没做。求助!

代码:

#include "SDL.h"

int main(int argc, char *argv[])  {
    SDL_Init(SDL_INIT_EVERYTHING);

    SDL_Window *window = SDL_CreateWindow("Title",
            SDL_WINDOWPOS_CENTERED,
            SDL_WINDOWPOS_CENTERED,
            640, 480,
            SDL_WINDOW_SHOWN);

    SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);

    SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);

    SDL_RenderClear(renderer);

    SDL_RenderPresent(renderer);

    SDL_Delay(3000);

    return 0;
}

我用的是MinGW编译器,我的IDE是Eclipse,SDL的版本是2.0.12

SDL_Delay 阻塞主线程直到 returns。在 Windows 上,应用程序的主线程应该处理和响应 Windows 消息以执行任何操作,否则它被标记为 "not responding"。由于线程被阻塞,所以发生了这种情况。

SDL 在其事件系统中处理该事件,您应该通过调用 SDL_PollEvent.

的事件循环调用该系统