gpt4 book ai didi

delphi - DlgType mtConfirmation 常量的 MessageDlg 图标错误?

转载 作者:行者123 更新时间:2023-12-03 14:57:45 25 4
gpt4 key购买 nike

在 Delphi 10.1.2 Berlin 中,在 Vcl.Dialogs.MessageDlg 函数中,DlgType 常量 mtInformationmtConfirmation 创建相同的对话框图标。例如:

if Vcl.Dialogs.MessageDlg('Do you really want to remove the selected item?',  mtConfirmation, mbOKCancel, 0) = mrOk then
begin
RemoveTheSelectedItem;
end;

enter image description here

if Vcl.Dialogs.MessageDlg('Do you really want to remove the selected item?',  mtInformation, mbOKCancel, 0) = mrOk then
begin
RemoveTheSelectedItem;
end;

enter image description here

但是 DlgType 常量 mtConfirmation 不应该显示一个问号 图标(与其他 DlgType 一样)常量 mtWarningmtError 创建各自不同的图标)?

如何使用 DlgType 常量 mtConfirmation 获得问号图标?

最佳答案

help中说:

Having mtConfirmation Show a Question Mark

Dialog boxes of TMsgDlgType.mtConfirmation type show an information icon.

In the past, they used to show a question mark instead, but Microsoft removed the question mark symbol from the Windows API function that the VCL uses to display TMsgDlgType.mtConfirmation dialog boxes. Quoting Microsoft: "The question-mark message icon is no longer recommended because it does not clearly represent a specific type of message and because the phrasing of a message as a question could apply to any message type. In addition, users can confuse the message symbol question mark with Help information." To use the previous dialog box appearance, you must set the UseLatestCommonDialogs variable of the Vcl.Dialogs unit to False.

所以这段代码:

  Vcl.Dialogs.UseLatestCommonDialogs := False;
if Vcl.Dialogs.MessageDlg('Do you really want to remove the selected item?', mtConfirmation, mbOKCancel, 0) = mrOk then
begin
RemoveTheSelectedItem;
end;

产生这个结果:

enter image description here

关于delphi - DlgType mtConfirmation 常量的 MessageDlg 图标错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46724943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com