#message-box #dialog #windows #dialog-box

win-msgbox

此软件包提供对 Windows MessageBox 的完全功能、易于使用的接口。

6 个版本

新增 0.2.1 2024 年 8 月 5 日
0.2.0 2024 年 6 月 22 日
0.1.3 2024 年 2 月 25 日
0.1.2 2023 年 2 月 7 日
0.1.1 2023 年 1 月 5 日

#249 in GUI

每月 35 次下载

MIT/Apache

34KB
496

win-msgbox

此软件包提供对 Windows 的 MessageBox 的完全功能、易于使用的接口。

所有可能的选项都可以使用,返回值是 Rust 枚举(如果只有一个选项,则为结构体)。

所有配置都是通过 MessageBox 进行的,可用的按钮通过 Options 配置。

messagetitle 将在调用 show 时即时转换为 UTF-16,如果不希望这样做,请使用在 raw 模块中导出的结构和函数。但是,请注意,这些是 unsafe,因为它们假设传递的指针指向有效的、以 null 结尾的 UTF-16 字符串。

示例

显示带有 确定 按钮的最小信息框

win_msgbox::show::<Okay>(w!("Hello World"));

Image of the resulting message box

显示带有错误图标的消息框,并匹配返回值

use win_msgbox::{w, CancelTryAgainContinue::{self, *}};

let response = win_msgbox::error::<CancelTryAgainContinue>(w!("Couldn't download resource"))
    .title(w!("Download Error"))
    .show()?;

match response {
    Cancel => println!("Cancelling downlaod..."),
    TryAgain => println!("Attempting redownload..."),
    Continue => println!("Skipping resource"),
}

Image of the resulting message box

有关更多示例,请参阅 examples 目录。

依赖项

~13–20MB
~250K SLoC