server 发表于 2024-3-17 23:34:02

一切尽在不言中,这个信息框太强大了。

我研究不透。
比喻说,进度之类的怎么玩,没搞明白。
那位火友研究一下呢。

<火山程序 类型 = "通常" 版本 = 1 />

方法 msgBox <公开 静态 类型 = 整数 折叠 折叠2 @视窗.外部头文件 = "CommCtrl.h" @视窗.预定义宏 = "WINVER=0x0600,_WIN32_WINNT=0x0600"
      @禁止流程检查 = 真>
{
    @ TASKDIALOGCONFIG config = { 0 };
    @ config.cbSize = sizeof(TASKDIALOGCONFIG);
    @ config.hwndParent = NULL;
    @ config.pszWindowTitle = L"标题";
    @ config.pszMainInstruction = L"主提示";
    @ config.pszContent = L"内容";
    @ config.pszMainIcon = TD_SHIELD_ICON;
    @ config.pfCallback = (PFTASKDIALOGCALLBACK)&@<pfCallback>;
    @ config.dwCommonButtons = TDCBF_OK_BUTTON |TDCBF_YES_BUTTON |TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON| TDCBF_RETRY_BUTTON| TDCBF_CLOSE_BUTTON;
    @ config.dwFlags =TDF_SHOW_PROGRESS_BAR ;
    @ return (int) TaskDialogIndirect(&config, NULL, NULL, NULL);


}

方法 pfCallback <静态 类型 = 变整数
      注释 = "TaskDialogCallbackProc 函数是与 TaskDialogIndirect 函数一起使用的应用程序定义的函数。 当发生各种事件时,它从任务对话框接收消息。"
      注释 = "PFTASKDIALOGCALLBACK 类型定义指向此回调函数的指针。 TaskDialogCallbackProc 是应用程序定义的函数名称的占位符。" 折叠 折叠2>
参数 hWnd <类型 = 变整数 注释 = "TaskDialog 窗口的句柄。 使用 TDN_DESTROYED 调用回调过程后,不要继续向 hwnd 发送消息。">
参数 Msg <类型 = 整数 注释 = "以下通知之一。" 注释 = "TDN_BUTTON_CLICKED            指示已选择按钮。 按钮的命令 ID 由 wParam 指定。"
      注释 = "TDN_CREATED                   指示已创建任务对话框。" 注释 = "TDN_DESTROYED               指示任务对话框已被销毁。"
      注释 = "TDN_DIALOG_CONSTRUCTED      指示已创建任务对话框,但尚未显示。"
      注释 = "TDN_EXPANDO_BUTTON_CLICKED    指示已选择展开按钮。"
      注释 = "TDN_HELP                      指示在任务对话框具有焦点时已按下 F1 键。"
      注释 = "TDN_HYPERLINK_CLICKED         指示已选择超链接。 指向链接文本的指针由 lParam 指定。"
      注释 = "TDN_NAVIGATED               指示导航已发生。"
      注释 = "TDN_RADIO_BUTTON_CLICKED      指示已选择单选按钮。 单选按钮的命令 ID 由 wParam 指定。"
      注释 = "TDN_TIMER                     指示已触发任务对话框计时器。 总已用时间由 wParam 指定。 可以通过向 hwnd 参数指定的窗口发送TDM_SET_PROGRESS_BAR_POS消息来更新进度栏。"
      注释 = "TDN_VERIFICATION_CLICKED      指示已选中“任务对话框验证检查”框。" 折叠2>
参数 wParam <类型 = 整数 注释 = "指定其他通知信息。 此参数的内容取决于 uNotification 参数的值。">
参数 lParam <类型 = 整数 注释 = "指定其他通知信息。 此参数的内容取决于 uNotification 参数的值。">
参数 lpRefData <类型 = 变整数 注释 = "指向应用程序特定数据的指针。 这是用于创建任务对话框的结构 TASKDIALOGCONFIG 的 lpCallbackData 成员指向的数据。">
{
    调试输出 ("pfCallback", hWnd, Msg, wParam, lParam, lpRefData)


    返回 (0)
}

hrq520 发表于 2024-3-17 23:59:17

本帖最后由 hrq520 于 2024-3-18 00:02 编辑

C++   不会搞   搞成火山中文代码看看

server 发表于 2024-3-18 00:26:04

本帖最后由 server 于 2024-3-18 00:27 编辑

我要说我飘了,你可能不信



山梦 发表于 2024-3-18 08:45:41

大佬厉害! 英文 看不懂

67564226 发表于 2024-3-18 09:40:27

确实很强大, 有些地方真用得着.

quary888 发表于 2024-3-18 17:15:08

本帖最后由 quary888 于 2024-3-18 17:17 编辑

精易论坛有成品你直接翻译更省力 @7ian这位大神的作品

恒浩 发表于 2024-4-7 01:30:35

这个信息框怎么设置置顶啊

oki520 发表于 2024-4-7 12:05:02

这个没有倒计时显示

server 发表于 2024-4-7 15:59:27

风格里有一个周期事件风格每200毫秒触发一次回调。
你可以在回调里去出信息框组件,然后更改内容。
当然 windows好像也提供了重置这个信息框的API。具体的你自己研究。
哎/估计我讲的都是废话。
页: [1]
查看完整版本: 一切尽在不言中,这个信息框太强大了。