You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建可放置在form上、支持Object Inspector配置的无图标non-visual组件

实现无设计时占位图的非可视组件方案

核心逻辑

你提到的TFloatAnimation不会在Form设计界面显示图标,核心是它关闭了设计期的可视占位属性,你可以通过以下步骤实现相同效果,同时保留拖拽放置、Object Inspector参数配置的能力:

具体实现步骤

  • 基类选择:如果是从零开发组件,直接继承TComponent即可;如果是改造现有TTimer组件,直接继承TTimer创建子类即可
  • 重写构造函数,添加设计期不可见配置,示例代码如下:
constructor TCustomTimer.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  // *关键配置*:隐藏设计期窗体上的组件图标
  SetDesignVisible(False);
  // 非可视组件通用配置:运行期默认不可见
  Visible := False;
end;
  • 组件注册:按常规方式注册组件即可,不需要额外配置设计器:
procedure Register;
begin
  RegisterComponents('自定义组件分类', [TCustomTimer]);
end;

注意事项

  • 该配置同时兼容VCL和FMX两套框架,不需要额外修改其他逻辑即可生效
  • 原有组件的所有功能、属性配置能力完全保留,不会受到影响

内容的提问来源于stack exchange,提问作者zeus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:48:04