SDL: responding to SDL_Quit, Esc with SDLmain.lib
SDL: responding to SDL_Quit, Esc with SDLmain.lib
我想在SDLmain中使用SDL。
当我点击显示窗口上的X时(如果我有一个控制台窗口,则与之相反),程序不会结束。它也不会在我按Escape键时结束,这很好。最后,当我尝试在Windows中显示桌面时,如果SDL程序正在运行,什么也没有发生。(我包括这个,以防它是相关的。)
如果我不使用SDLmain,我会编辑WndProc。仔细想想,SDLmain当然应该有windproc。但不喜欢。我怎么做才能告诉SDL响应这些消息?我可以在main中使用SDL_PollEvent,但是a)这意味着我必须在main中使用事件检查循环,这并不总是合适的,并且b)我不确定如何告诉它侦听单击x
一个简单的事件函数示例
SDL_Event event ;
while( SDL_PollEvent( &event ) )
{
switch( event.type )
{
case SDL_QUIT:
running = FALSE ; //set you variable that controls the main flow of the program to false
break;
default:
break ;
}
}
您必须调用一个事件泵送函数来使SDL泵送窗口的消息队列。这必须在创建窗口的线程上完成。
当您尝试通过X关闭窗口时,事件排队到SDL的事件队列(SDL_QUIT
,我认为)。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- SDL 窗口不会弹出
- SDL 操纵杆按钮按下/C++
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- C++/SDL "initial value of reference to a non-const must be an lvalue"
- SDL 映像:无法打开映像,仅显示错误消息
- 如何在 3D OpenGL 场景上绘制 SDL 2D 矩形?
- "Undefined symbols for architecture x86_64" 在 SDL 2 (macOS) 中
- 为什么 SDL 在 Mac 上比 Linux 慢得多?
- 在 OSX 上打开 SDL 窗口时不要打开终端窗口
- SDL + OpenGL ES 2.0 使用着色器显示纹理
- SDL GPU 为什么将两个图像分成两个单独的循环更快?
- 在 cmake 中找不到 SDL 库
- SDL/C++: 如何平滑但随机地移动矩形?
- 如何与 SDL 库链接?
- 为什么我的C++代码不呈现 SDL 矩形?
- 为什么要在初始化SDL之前在SDL中声明指针
- C++/SDL 如何覆盖数组?
- SDL: responding to SDL_Quit, Esc with SDLmain.lib