В приложении Delphi 12.1 VCL в Windows 11 я пытаюсь настроить TTaskDialog
во время разработки:
object TaskDialog2: TTaskDialog
Buttons = <>
Caption = 'Choose an Action'
RadioButtons = <
item
Caption = 'Create a shortcut to this folder'
end
item
Caption = 'Copy the folder and all its contents'
end>
Text = 'How do you want to insert the Folder?'
Left = 676
Top = 396
end
Но для свойства MainIcon нет выбора знака вопроса.
Я могу загрузить собственное ICO со знаком вопроса в CustomMainIcon
во время разработки. Но как показать этот CustomMainIcon?
Загруженный CustomMainIcon не отображается ни во время разработки (с помощью «Тестового диалога»), ни во время выполнения (с помощью TaskDialog2.Execute).
(В любом случае не рекомендуется использовать значки вопросительных знаков для диалоговых окон с вопросами. Microsoft прекратила использование этих значков много лет назад.)
@AndreasRejbrand это тоже есть в официальной документации
@RemyLebeau: Отлично! (Это было не тогда.)
Проверка флага tfUseHiconMain
в TTaskDialog.Flags
во время разработки показывает CustomMainIcon как во время разработки, так и во время выполнения.
Вот результат при использовании CustomMainIcon размером 32x32 пикселя:
А вот результат при использовании CustomMainIcon размером 64x64 пикселя:
А вот результат при использовании CustomMainIcon размером 128x128 пикселей:
Обратите внимание, как большие файлы ICO становятся пикселизированными, хотя все файлы ICO были созданы с помощью генератора иконок Axialis (исходники SVG).
Согласно документации Delphi:
https://docwiki.embarcadero.com/Libraries/en/Vcl.Dialogs.TCustomTaskDialog.CustomMainIcon
Указывает настраиваемый главный значок, если таковой имеется, для диалогового окна задачи.
CustomMainIcon указывает на пользовательский главный значок для этого диалогового окна задачи, если
tfUseHiconMain
установлен в Флаги.
Флаг tfUseHiconMain
по умолчанию отключен. Ваша установка должна включить его.
Об этом упоминается в неофициальной документации TTaskDialog.