问题标签 [taskdialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mfc - 将 HTML / 超链接与 CTaskDialog SetContent / SetFooterText 一起使用
SetFooterText
您可以使用 HTML 语法提供超链接,并将其显示为链接。但是,我发现这里只有一个网站链接有效。如果我使用mailto
链接,它将不起作用。有解决方法吗?
另外,如果我尝试使用基本的 HTML,比如用粗体标签包装一个单词,SetContent
它只会显示为文字文本。
支持什么 HTML 语法CTaskDialog
?我们可以轻松覆盖吗?
winapi - TaskDialogIndirect:如何设置多行按钮
TaskDialogIndirect API 具有描述每个按钮的结构。正如我在 Windows 10 上通过测试看到的,按钮标题不能是多行的(LF 或 CR LF 分隔),它不会呈现正常。仅显示多行字符串的最后一行。我可以设置多行按钮标题吗?
winapi - 指定 TaskDialog 的宽度
我正在通过该TaskDialogIndirect
功能使用任务对话框。
一切都按预期工作,只是对话框的宽度正好是我在结构cxWidth
字段中指定的宽度的两倍TASKDIALOGCONFIG
。
相关代码:
文档说是对话单位的cxWidth
宽度。
上面的代码对话框的宽度是 300 像素而不是 150 像素,这意味着一个水平对话框单元是 2,看起来非常小。
如果我想明确指定任务对话框的宽度,我应该如何进行?假设在这种情况下我不能依赖一个水平对话单元始终为 2 的事实。
winapi - 按 Esc 关闭任务对话框
在我维护的软件中,我计划在很久以前就按照 Microsoft UI 指南的建议替换旧MessageBox
的。TaskDialog
我需要解决的主要问题如下:
通过按 Esc 键调用的旧消息框MessageBox(... ,MB_OK)
(因此只包含一个 OK 按钮)可以关闭。
但是TaskDialog
不能通过按 Esc 来关闭仅包含 OK 按钮的按钮。这可能会对用户体验产生负面影响。
我尝试TaskDialogIndirect
使用该pfCallback
字段,但如果任务对话框中没有取消按钮,则回调函数甚至不会被调用。
任何想法可以做什么,以便 Esc 将关闭这样的任务对话框?
delphi - TaskDialog 在我的 Delphi 程序中不起作用
我正在使用德尔福 10.4。这是一个 Windows VCL 应用程序。
我想在我的程序中将我所有的 ShowMessage、MessageDlg 和 MessageBox 调用转换为 TaskDialogs。当我尝试这样做时,我无法让 TaskDialog 显示任何内容。
所以我所做的是创建一个新的最小 VCL 应用程序,只需添加一个按钮和一个 TaskDialog 到它:
这是我的代码:
那工作得很好。运行它并按下 Button1 时,我得到:
所以现在我去我的应用程序。我在主窗体中添加了一个按钮,并将 MyMessageBox 过程设置为:
在我的应用程序中正确按下按钮会依次打开每个 ShowMessage、MessageBox 和 MessageDlg 窗口,但在关闭 MessageDlg 窗口后,TaskDialog 什么也没有出现。
有谁知道是什么可能导致 TaskDialog 在我的应用程序中无法工作以及如何解决这个问题?
multithreading - 确定为什么在 Delphi 中关闭任务对话框
我的 Delphi 应用程序的一部分从另一个程序访问信息。因为执行可能需要一些时间,而且有时其他程序可能没有响应,所以我在单独的线程中运行我的那部分代码。
为了让我的用户了解后台线程的进度,我在启动线程后执行了一个 TaskDialog。我将一个指向 TaskDialog 的指针传递给我的线程,以便线程可以与 TaskDialog 同步以在线程进行时更新它。线程完成后,我使用以下方法向 TaskDialog 发送关闭消息PostMessage(CurrentTaskDialog.Handle, WM_CLOSE, 0, 0);
到目前为止一切正常,但是如果用户单击 TaskDialog 上的 Cancel 按钮(它是 TaskDialog 上的唯一按钮),我想取消该过程。我不知道该怎么做。无论用户是否单击按钮,或者 TaskDialog 是否收到关闭消息,ModalResult
都始终是mrCancel
. 我尝试ModalResult
在线程中分配一个不同的值,但它仍然评估为mrCancel
.
有没有办法做到这一点?
visual-c++ - 使用 DoMessageBox 将 AfxMessageBox 转换为 CTaskDialog
到目前为止,我已经编写了这个函数:
我有两个问题,很高兴分成两个问题:
- 使用
IDI_QUESTION
导致应用程序崩溃。 - 难道没有更简单的方法来解码
nType
所需的各种按钮和图标吗?