小编Cri*_*ica的帖子

不支持vcl样式的标签页的关闭按钮

我已经使用了这个例子中提供的代码如何为TPageControl的TTabsheet实现一个关闭按钮,以便为一个pagecontrol的每个tabheet绘制一个关闭按钮,我已经在代码中用Style Services替换了ThemeServices,并且在应用样式时关闭了按钮没有任何表现和反应.任何人都可以指出我解决这个问题的另一条道路.谢谢!这是OnDrawTab事件的代码:

  procedure TFormMain.PageControlCloseButtonDrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  CloseBtnSize: Integer;
  PageControl: TPageControl;
  TabCaption: TPoint;
  CloseBtnRect: TRect;
  CloseBtnDrawState: Cardinal;
  CloseBtnDrawDetails: TThemedElementDetails;
begin
  PageControl := Control as TPageControl;

  if InRange(TabIndex, 0, Length(FCloseButtonsRect) - 1) then
  begin
    CloseBtnSize := 14;
    TabCaption.Y := Rect.Top + 3;

    if Active then
    begin
      CloseBtnRect.Top := Rect.Top + 4;
      CloseBtnRect.Right := Rect.Right - 5;
      TabCaption.X := Rect.Left + 6;
    end
    else
    begin
      CloseBtnRect.Top := Rect.Top + 3;
      CloseBtnRect.Right := Rect.Right - …
Run Code Online (Sandbox Code Playgroud)

delphi tpagecontrol delphi-xe2 vcl-styles

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

如果只有一个指针,则释放一个对象

我有一个存储指向某些对象的指针的数组,我想知道如果你只有一个指针,是否可以释放一个对象.例如:

var test_form :Tform;
    p: Pointer;
vartest := Tform.create(nil);
p:=@vartest;
Run Code Online (Sandbox Code Playgroud)

如果在运行时我只有p 可以释放vartest吗?

delphi variables pointers delphi-xe2

0
推荐指数
2
解决办法
3308
查看次数