TTreeView 复选框在屏幕上更改比例后失去“选定”状态

问题描述 投票:0回答:1

如主题所示。当我更改屏幕比例时,例如在窗口(屏幕设置)中从 100% 更改为 125%,我的 TTreeView 重新绘制并丢失复选框中的选中/选定状态。

Delphi 11 和 12 - 相同的行为。 VCL

有什么建议吗?

delphi vcl
1个回答
1
投票

我在另一个网站上询问,有人在确认我的错误报告后给了我建议,看起来可行!当然它需要测试,但对我来说它有帮助。

const
  CM_BASE = $B000;
  CM_RECREATEWND = CM_BASE + 51;
type
  TTreeView = class(Vcl.ComCtrls.TTreeView)
  protected
     procedure CMRecreateWnd(var Message: TMessage); message CM_RECREATEWND;
  end;

  implementation

{$R *.dfm}

procedure TTreeView.CMRecreateWnd(var Message: TMessage);
begin
  Message.Result:= 0;
end;
© www.soinside.com 2019 - 2024. All rights reserved.