【问题标题】:How to detect screen resolution change in Delphi?如何在 Delphi 中检测屏幕分辨率的变化?
【发布时间】:2013-02-08 12:28:02
【问题描述】:

问题很简单。 Delphi如何检测屏幕分辨率变化?

【问题讨论】:

  • 查看与系统指标有关的消息。例如。 WM_SYSTEMMETRICSCHANGE
  • @David, Sertac:另一个已经关闭,所以这个应该关闭。另外,我认为旧的关闭而不是这个很好,因为这个有更好的答案。
  • 作为另一个问题的 OP,我不得不说这个问题确实有更好的答案,而且是同一个人。
  • 重复项对于通过任何搜索字符串找到答案非常有用。

标签: delphi winapi screen-resolution


【解决方案1】:

您只需要检测WM_DISPLAYCHANGE消息。

例如,

TForm1 = class(TForm)
private
protected
  procedure WMDisplayChange(var Message: TWMDisplayChange);
    message WM_DISPLAYCHANGE;
  { Private declarations }

public
  { Public declarations }
end;

...

procedure TForm1.WMDisplayChange(var Message: TWMDisplayChange);
begin
  ShowMessageFmt('The screen resolution has changed to %d×%d×%d.',
    [Message.Width, Message.Height, Message.BitsPerPixel]);
end;

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2011-06-05
    • 1970-01-01
    相关资源
    最近更新 更多