SDL 中如何调用一个能输入文本的对话框

2020-11-08 22:07:28 +08:00
 zengming00

用 C 语言 SDL 做了个图形化的小东西,SDL 在 windows 和 linux 下用起来还是很方便的,现在有个需求,需要能编辑一段文本,但 SDL 没有提供文本框的控件,我就想,能不能调用 dll 的方式启动一个用其它语言写的对话框来完成这个功能? windows API 有没有这样的函数?

#include <windows.h>
int main(int argc, char const *argv[]) {
    MessageBox(NULL, TEXT("message"), TEXT("title"), MB_OK);
    reutrn 0;
}

MessageBox 倒是很简单一行代码就出来了,有没有 InputBox ?

585 次点击
所在节点    问与答
3 条回复
ysc3839
2020-11-08 22:32:27 +08:00
Windows 没有 InputBox 。
macOS 大概可以用 NSAlert 的 accessoryView 实现。
https://developer.apple.com/documentation/appkit/nsalert/1530575-accessoryview?language=objc
levelworm
2020-11-09 09:59:12 +08:00
我老早老早写过一个:
https://github.com/markus-zhang/Dragonlance-Editor/blob/master/DLEditor/cTextInput.h
不过我的代码很乱的,估计你看不明白。其实我自己现在也看不懂了。
zengming00
2020-11-09 12:03:57 +08:00
@levelworm 没学过 c 艹

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/723001

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX