Forms 如何使按钮看起来是3d的?

Forms 如何使按钮看起来是3d的?,forms,user-interface,delphi,button,3d,Forms,User Interface,Delphi,Button,3d,我编写了一个程序,用户可以使用它来绘制形状,在表单上放置实际的按钮和其他工具,并激活它们。然而,我注意到这个表单上的TButton和设计模式下表单的TButton有很大的不同。请看下面的图片 此按钮来自我的程序,图像右下方是我如何在此表单上创建此按钮的: 下面是delphi编译器中设计模式下的一个TButton。通过抛光玻璃般的外观,查看它的3d外观: 有趣的是,我的程序的button和delphi编译器的基类是TButtonSo,为什么它们看起来如此不同,你如何使我的按钮看起来一样 该按钮

我编写了一个程序,用户可以使用它来绘制形状,在表单上放置实际的按钮和其他工具,并激活它们。然而,我注意到这个表单上的TButton和设计模式下表单的TButton有很大的不同。请看下面的图片

此按钮来自我的程序,图像右下方是我如何在此表单上创建此按钮的:

下面是delphi编译器中设计模式下的一个TButton。通过抛光玻璃般的外观,查看它的3d外观:


有趣的是,我的程序的button和delphi编译器的基类是TButtonSo,为什么它们看起来如此不同,你如何使我的按钮看起来一样

该按钮已禁用。这些应该是不同外观的原因。

按钮被禁用。这些应该是不同外观的原因。

您的项目选项中是否启用了运行时主题?@RemyLebeau我刚刚选中,它已启用。您的项目选项中是否启用了运行时主题?@RemyLebeau我刚刚选中,它已启用。真的!天哪……在德尔福工作这么多年,我不知道。。。。真的很管用!天哪……在德尔福工作这么多年,我不知道。。。。它是有效的。。。
constructor TMakerButton.Create(r:TRect;form:TForm);
begin
   inherited Create(r,form);
   myType := totButton;
   name := 'Button';
   caption := 'Button';
   lines := TStringList.Create;
   lines.Clear;
   button := TButton.Create(form);
   button.Parent := form;
   button.caption := string(caption);
   button.Tag := LongInt(Self);

   if form is TMakerFrm then
   begin
      button.Enabled := false;
   end;
   button.OnClick := ButtonClick;
   button.OnMouseMove := ButtonMove;

   myControl := button;
   with bounds do
   button.SetBounds(left,top,right-left,bottom-top);
end;