gpt4 book ai didi

Windows 7 上的 Delphi7 字体对话框已过时

转载 作者:行者123 更新时间:2023-12-03 19:07:33 24 4
gpt4 key购买 nike

  • 左-现代应用的Win7对话框
  • 右 - 我的 Delphi7 应用程序的 Win7 对话框

  • 如何让我的 dlg 变得现代? (如何修补Delphi7)

    Font

    最佳答案

    对于 Windows 7 及更高版本,要显示的新对话框的问题部分是回调。这是来自“Font Dialog Box”的引述:

    If you enable a hook procedure without creating a custom template, the default ChooseFont template for earlier Windows versions will be loaded.



    您可以通过修改“dialogs.pas”的副本并将其放在当前项目的源文件夹中来消除 Hook 过程。
    function TFontDialog.Execute: Boolean;
    ...
    // Flags := Devices[FDevice] or (CF_INITTOLOGFONTSTRUCT or CF_ENABLEHOOK);
    Flags := Devices[FDevice] or CF_INITTOLOGFONTSTRUCT;
    ...
    // hWndOwner := Application.Handle;
    hWndOwner := GetActiveWindow;
    ...

    后一种修改是为了在合理的位置显示对话框。一旦 Hook 程序被禁用,VCL 将无法使对话框居中。您还将失去“应用”按钮功能和其他事件(OnShow/Close)。

    关于Windows 7 上的 Delphi7 字体对话框已过时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28069431/

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