V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zengming00
V2EX  ›  问与答

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

  •  
  •   zengming00 · 2020-11-08 22:07:28 +08:00 · 583 次点击
    这是一个创建于 1335 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 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 ?

    ysc3839
        1
    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
        2
    levelworm  
       2020-11-09 09:59:12 +08:00
    我老早老早写过一个:
    https://github.com/markus-zhang/Dragonlance-Editor/blob/master/DLEditor/cTextInput.h
    不过我的代码很乱的,估计你看不明白。其实我自己现在也看不懂了。
    zengming00
        3
    zengming00  
    OP
       2020-11-09 12:03:57 +08:00
    @levelworm 没学过 c 艹
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1139 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:29 · PVG 02:29 · LAX 11:29 · JFK 14:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.