#dialog #message #idiomatic #icons #win #api #documentation

bin+lib win_dialog

针对 Windows MessageBox 函数的惯用包装,用于在 Windows 中提供消息对话框

16 个版本 (2 个稳定版本)

1.0.1 2024年6月2日
1.0.0 2024年6月1日
0.5.6 2024年6月1日
0.4.0 2024年6月1日
0.1.3 2024年5月30日

#5 in #win

Download history 238/week @ 2024-05-23 842/week @ 2024-05-30 120/week @ 2024-06-06 11/week @ 2024-06-13

每月下载量 692 次

MIT/Apache

41KB
669

Win-Dialog

Windows 消息框 API 的惯用 Rust 接口。

动机

可以简单地使用 windows crate 来调用此 API,但该 API 是相当过时的 C 风格 API,因此对于没有 C 编程经验的 Rust 开发者来说不太直观。此创建将原始 API 包装在一个熟悉的接口中,并提供了比官方 crate 文档更完整的关于如何使用它的文档。

消息框外观

Windows 消息框的外观如下

example message box

您可以进行以下更改

  • 更改标题(或显示默认标题)
  • 更改正文文本
  • 从一组固定的按钮中选择可用的按钮。您不能编辑按钮文本
  • 更改图标(或不显示图标)

用法

use win_dialog::{style, Icon, WinDialog};

fn main() {
    let res =
        WinDialog::new("We encountered an error during installation. What would you like to do?")
            .with_style(style::AbortRetryIgnore)
            .with_icon(Icon::Hand)
            .show()
            .unwrap();
    println!("{res:?}");
}

可能未来的功能

  • 对话框超时
  • 异步接口

依赖关系

~128MB
~2M SLoC