小编Dav*_*way的帖子

对于最大化的风格窗户,我可以做些什么,在相邻的显示器上显示边框?

在多监视器系统上,"空白"VCL应用程序可以最大化,但启用了样式的相同应用程序(以及一个默认选择的应用程序)最大化不正确.我所看到的是窗口的右侧边缘延伸到第二台显示器(我的主要位于左侧).当我开始与其他Windows应用程序进行比较时,我注意到在Windows 7(至少)下,最大化的窗口甚至在左侧,右侧或底侧都没有非客户端边框.事实上,标准VCL(非样式)应用程序的行为方式相同,没有非客户端边界.

我该如何解决?我注意到TFormStyleHook有一个WMNCCalcSize的处理程序,我还没有解剖,但让我想知道VCL是否可能错误地处理这个消息以获得最大化的窗口.

delphi maximize-window delphi-xe2 vcl-styles

22
推荐指数
1
解决办法
2183
查看次数

在TVirtualStringTree中错误地绘制了主题复选框

启用toThemeAware时,VirtualTrees.pas 5.0.0版中的复选框处理显示已损坏.csUncheckedNormal的节点被绘制为checked + hot.

要使用DrawElement正确绘制未经检查的主题复选框,Details记录必须为:Element = teButton,Part = 3,State = 5.但是,当节点设置为csUncheckedNormal时,VirtualTrees.pas最终调用DrawElement,State = 1 .

似乎在VirtualTrees中声明了大量的间接和额外的常量,所以我不确定如何最好地解决这个问题.想法欢迎......

(甚至在屏幕上获取TVirtualStringTree并填充一些数据的最小代码在这里发布也有点冗长.除了基础知识之外,重现这一点所需要的只是在TreeOptions.MiscOptions中启用toCheckSupport,并设置Node.CheckType: = InitNode回调中的ctTriStateCheckBox.)

delphi virtualtreeview delphi-xe2 tvirtualstringtree vcl-styles

4
推荐指数
1
解决办法
1519
查看次数

Indy和REST - 我可以防止例外吗?

有没有办法阻止Indy在任何/所有HTTP状态上引发异常?

我对IgnoreReplies数组的理解是,它会阻止这些状态再次出现,但这不是我想要的.我希望所有状态都回来,而且没有一个可以引发异常.例如,有大量REST服务返回404,这被认为是完全"有效"的响应.

我真的不想在异常处理程序中使用我的代码的1/2,所以有没有办法让当前的Indy只返回一切?

delphi rest indy delphi-xe2

4
推荐指数
1
解决办法
2313
查看次数

Delphi XE2 风格绘画

在绘制 VCL 样式的窗口元素时,我遇到了绘制不正确的角的问题。在具有圆角的样式上,我在控件的边界矩形和样式的圆角窗口角之间的空间中得到一个白色背景。

在此处输入图片说明

上图是使用 Aqua Light Slate 运行的,但任何带有圆角的样式都会出现同样的问题。我错过了什么?

type
  TSample = class(TCustomControl)
  protected
    procedure Paint; override;
  end;

{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
var
  R: TRect;
  S: TSample;
begin
  R := ClientRect;
  InflateRect(R, -20, -20);
  S := TSample.Create(Application);
  S.Parent := Self;
  S.BoundsRect := R;
end;

{ TSample }
procedure TSample.Paint;
var
  Details: TThemedElementDetails;
begin
  Details := StyleServices.GetElementDetails(twCaptionActive);
  StyleServices.DrawParentBackground(Self.Handle, Canvas.Handle, Details, False);
  StyleServices.DrawElement(Canvas.Handle, Details, ClientRect);
end;
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe2 vcl-styles

3
推荐指数
1
解决办法
2113
查看次数