Du hast also die Original-Dialogs.pas geändert, oder?
Ja, testweise.
Ich frage nur, weil das manchmal etwas diffizil ist.
Vielleicht hast du keine Änderung gesehen, weil er noch die Original-Dialogs.dcu genommen hat oder so.
Ich hatte vor, eine andere alternative Execute-Funktion zu erstellen, falls es mit der cxWidth klappen sollte.
Jetzt, wo du's erwähnst: Ich habe vor Zeiten mal in einem Testprojekt die Execute-Methode überschrieben:
Delphi-Quellcode:
TMyCustomTaskDialog = class(TCustomTaskDialog)
strict protected
function DoExecute(ParentWnd: HWND): Boolean; override;
end;
TMyTaskDialog = class(TMyCustomTaskDialog)
published
property Buttons;
property Caption;
property CommonButtons;
property CustomFooterIcon;
property CustomMainIcon;
property DefaultButton;
property ExpandButtonCaption;
property ExpandedText;
property Flags;
property FooterIcon;
property FooterText;
property HelpContext;
property MainIcon;
property ProgressBar;
property RadioButtons;
property Text;
property Title;
property VerificationText;
property OnButtonClicked;
property OnDialogConstructed;
property OnDialogCreated;
property OnDialogDestroyed;
property OnExpanded;
property OnHyperlinkClicked;
property OnNavigated;
property OnRadioButtonClicked;
property OnTimer;
property OnVerificationClicked;
end platform;
TMyTaskDialog kannst du dann zwar nicht ohne weiteres im Formdesigner nutzen, aber für einen Test tut's das ja. Die Implementation von TMyCustomTaskDialog.Execute ist leider eine komplette Kopie, da TTaskDialog mal wieder ein Musterbesipiel an Wiederverwertbarkeit ist.