如何制作自定义组件属性?

2024-06-23

我需要帮助来制作一个控件属性,当您单击它时,它会弹出一个自定义对话框,例如设置。就像 TPicture 一样。

有什么想法或建议吗?


如果您的类用作其他组件的属性,并且您想使用对象检查器来调用对话框,那么您必须实现并注册一个自定义属性编辑器,例如:

interface

uses
  DesignIntf, DesignEditors;

type
  TMyClassProperty = class(TPropertyEditor)
  public
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
  end;

procedure Register;

implementation

uses
  MyClassUnit;

procedure TMyClassProperty.Edit;
begin
  with TMyDialog.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

function TMyClassProperty.GetAttributes: TPropertyAttributes;
begin
  Result := inherited GetAttributes + [paDialog];
end;

procedure Register;
begin
  RegisterPropertyEditor(TypeInfo(TMyClass), nil, '', TMyClassProperty);
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何制作自定义组件属性? 的相关文章

  • 读取存储在注册表中的 GUID 值

    我尝试读取存储为的 GUID 值binaryDelphi 注册表中的值 当我用BintoHex读取它时 但结果是相反的 看来我必须交换字节 但我认为 BinToHex 可以做到 我参考了这个线程 但找不到正确的解决方案 如何在 Delphi
  • Objective c 中的属性复制并保留

    我从苹果文档中读到的保留会将保留计数增加 1 而释放将减少 1 这对我来说非常清楚 但在复制和保留的情况下我有点困惑 让我用我正在尝试的代码来解释 财产 property nonatomic retain NSMutableString a
  • 为什么在@interface中声明Object 当在Xcode 4中使用@property时

    interface first
  • 当系统文件实际存在时找不到它

    系统找不到alg exe但它确实存在 c windows system32 alg exe 我最近从 Win 7 x86 迁移到 x64 当我使用 x86 时 我对此没有任何问题 尝试了 Delphi 7 和 XE2 我正在使用的代码 if
  • 如何制作自定义组件属性?

    我需要帮助来制作一个控件属性 当您单击它时 它会弹出一个自定义对话框 例如设置 就像 TPicture 一样 有什么想法或建议吗 如果您的类用作其他组件的属性 并且您想使用对象检查器来调用对话框 那么您必须实现并注册一个自定义属性编辑器 例
  • Delphi TTask - PPL 中匿名函数中的变量捕获如何工作?

    我开始深入研究 Delphi D11 PPL 并编写了这个小例子 procedure TForm2 LaunchTasks const cmax 5 Var ltask ITask i j Integer begin for i 1 to
  • 将数据从 DLL 传递到应用程序时出现问题

    我对如何在我的场景中正确使用指针感到有点困惑 我有一个 DLL 其中包含一些嵌入式资源 我在此 DLL 中公开了一个函数 该函数将这些资源之一的二进制数据传递回其调用应用程序 在本例中 我嵌入了 JPG 图像文件 我的 DLL 确实将文件正
  • 在这些情况下限制破折号的正则表达式模式

    Scenario 我正在使用第三方文件重命名软件 该软件是用 Delphi 编写的 并且具有 pascal 脚本支持 该应用程序允许使用正则表达式来重命名文件 这意味着 如果我需要对文件名执行的操作不能仅使用一个正则表达式来完成 那么我可以
  • 如何获取已打开连接的套接字 ID/句柄/描述符? (.NET、C++、德尔福)

    我的问题已在标题中说明 我到底该怎么做呢 我有一个开放的连接 我想 劫持 它并通过它发送我的自定义消息 据我了解 这是通过套接字及其处理程序完成的 任何语言都可以 但首选 C NET 谢谢 UPDATE 我到底想要实现什么 我想为 post
  • 挂钩到文件,实时读取新内容

    我如何连接到另一个程序当前正在使用的文件 该程序不断向该文件写入内容 假设有一个 10 行的文本文件 当我启动我的应用程序时 每次写入程序保存其内容时 它都必须检测并读取其中的任何内容 可以在不不断检查文件大小 日期的情况下完成此操作吗 您
  • 当应用程序最小化时隐藏表单

    我有一个主表单和一个状态表单 当我的应用程序中的工作正在进行时 我会显示它们 如果工作完成我就打电话Hide状态表上出现 状态表消失 当我最小化主窗体而等待窗体可见时 就会出现问题 然后两种形式都被隐藏 这就是我想要的 但是 如果工作完成时
  • 惠普定制 OEM Windows 上的 Delphi 平台错误

    我在设置我的计算机以便运行 Delphi 时不断遇到相同的错误 我已经在PLATFORM环境变量 将其转换为 win32 但仍然给出相同的错误 错误错误 平台变量 HPD 无效 PLATFORM 必须是以下之一 Win32 Win64 An
  • 在 fxml 中使用自定义控件

    假设我已经对默认值进行了子类化TableView
  • 为什么我的 Delphi FindDialog 中的光标没有变成沙漏形?

    我只是用以下命令打开 FindDialog FindDialog Execute 在我的 FindDialog OnFind 事件中 我想将光标更改为沙漏以搜索大文件 这可能需要几秒钟 所以在 OnFind 事件中我这样做 Screen C
  • asp.net在网站中添加自定义控件

    我想在我的网站中制作自定义控件 注意 不是网络应用程序 以下是代码 using System using System Collections Generic using System Linq using System Web using
  • 如果分配相同的值,setter 是否应该立即返回?

    在实现 INotifyPropertyChanged 的 类中 我经常看到这种模式 public string FirstName get return customer FirstName set if value customer Fi
  • 构造函数参数和属性一起出现在 bean 定义中

  • ASP.NET 自定义控件:何时调用 LoadPostData()?

    我开发了一个扩展 ListBox 的自定义控件 这个想法是控件 记住 客户端发生的对其元素的修改 例如作为 AJAX 请求的结果 它的工作方式是控件还呈现隐藏输入 并且 AJAX 请求的结果存储在隐藏输入中 这将被回发 并且控件的 Load
  • Delphi 2009中TBitmap绘制透明图像

    在 TBitmap 对象上绘制半透明 PNG 图像时出现问题 如果 TBitmap 的 HandleType 设置为 bmDDB 则画布将绘制为透明 但问题是它并不适用于所有类型的机器 例如 苹果计算机上的 Windows 当 TBitma
  • 在 DLL 中使用 IXMLDocument 需要 CoInitialize?

    有没有理由使用CoInitialize使用时在我的 DLL 函数中IXMLDocument msxml 包装器 或与此相关的其他 com 对象 调用应用程序 线程是否负责调用CoInitialize CoUninitialize 如果我使用

随机推荐

  • 缺少对象 GraphQL+Apollo 错误的选择集

    我有一组突变可以触发某些类型弹出窗口的本地状态 它们一般是这样设置的 openDialog variables cache gt const data popups popups dialog id dialog typename Dial
  • 如何查找架构中所有视图的行数?

    有时我可以访问具有数百个视图的模式 使用 Snowflake 数据市场时 如何找到每个视图的行数 我需要的是一种有效的方法来执行以下操作 select count from KNOEMA FORECAST DATA ATLAS FORECA
  • 如何理解JavaFX三角形网格?

    只是想了解有关三角形网格的 JavaFX 文档 这段代码可以工作并绘制一个矩形 public class Shape3DRectangle extends TriangleMesh public Shape3DRectangle float
  • p2 = p1 和 *p2 = *p1 之间的区别

    代码来自这里 http www cplusplus com doc tutorial pointers http www cplusplus com doc tutorial pointers include
  • 使用 .NET 程序集创建 Azure Key Vault (Microsoft.Azure.KeyVault)

    我正在编写一个 Net 控制台应用程序来创建 Key Vault 但无法在 Microsoft Azure KeyVault 程序集中找到允许创建 Vault 并将服务主体设置为该 Vault 的类 方法 有人可以指出我可以用来创建保管库的
  • 当我清理我的应用程序时,android studio 服务不起作用

    当有人收到消息时 我使用服务推送通知 并且当我打开应用程序和关闭应用程序时 我的服务运行良好 但是当我清理我的应用程序时 它就停止了 这是我编写自己的 startForeground 而不是使用的问题吗他们给的startForeground
  • Stripe 令牌未转移到控制器导轨 4

    问题 我已经测试了 CoffeeScript 表单调用 Stripe 使用正确的响应令牌设置隐藏字段并提交表单 我的问题是 一旦提交 控制器似乎无法正确获取令牌并抛出此错误 Stripe InvalidRequestError 您必须提供卡
  • 如何在rosnode中将值从一个订阅者的回调函数传递到另一个订阅者

    我的问题是如何将值从一个订阅者的回调函数传递到另一个订阅者的回调函数 这有道理吗 import rospy from sensor msgs msg import LaserScan Int32 from xxx2 msg import x
  • 编译带有 python 支持的 vim

    我正在尝试编译支持 Python 2 5 1 的 Vim 7 2 但遇到了一些麻烦 我运行配置 看起来它正在按预期工作 configure with features huge enable pythoninterp prefix home
  • 如何在 Java 中的新进程中启动“主进程”?

    问题很简单 如何在另一个java进程中启动main方法 现在我这样做 startOptions new String java jar serverstart jar new ProcessBuilder startOptions star
  • react-redux:当mapDispatchToProps是对象时,调度操作如何工作?

    使用期间react redux 我遇到了一个令人困惑的问题mapDispatchToProps 当它是一个对象而不是函数时 例如 在我的项目中 我有以下动作创建者 export const incrementBy2 gt type INCR
  • VSCode Test Explorer Pytest 使用 AWS Parameter Store 注入环境变量

    我目前正在通过 Python 测试资源管理器使用 Pytest 参见屏幕 我想在运行时通过一些环境变量的测试 不过 我目前在运行测试之前获取了 AWS Parameter Store 意思是 我在 BASH 中运行一个命令 将环境变量加载到
  • SHOW CREATE TABLE 输出中缺少外键约束

    我发现SHOW CREATE TABLE没有像我预期的那样显示外键约束 为了进行演示 这里有一个来自MySQL手册 http dev mysql com doc refman 5 0 en innodb foreign key constr
  • 避免在 printf 周围的包装中发出警告

    我正在编写的小 C 库中有一个错误报告功能 我想提供一个errorf除了普通的功能error功能允许轻松地将信息嵌入错误消息中 Prints a formatted error message Use it as you would use
  • C++ 管道系统调用总是以 EOF 结尾吗?

    使用此处的 SO 帖子 如何读取 C 中 system 调用的结果 https stackoverflow com questions 309491 how do i read the results of a system call in
  • 将一个 numpy 数组按另一个排序

    我有一个确定元素顺序的数组 order 3 1 4 2 然后我想对另一个更大的数组 仅包含这些元素 进行排序 a np array 4 2 1 1 4 3 1 3 这样首先出现的元素order结果第一等在直接的 Python 中 我会使用一
  • 从 pandas 数据框日期列中减去一天

    抱歉我缺乏 Pandas 和日期时间能力 我已经尝试过 但有些东西似乎超出了我目前有限的技能范围 我使用的是日期列 FinalStartPunch 该列输入为 datetime64 ns 如果小时为 0 则从 datetime64 ns 列
  • %timeit 和变量的重新分配

    令人惊讶的 ipython 魔法 timeit error In 1 a 2 In 2 timeit a 2 a Traceback most recent call last File site packages IPython core
  • 如何判断 Python 模块是否从模块内重新加载()

    当编写Python模块时 有没有办法判断模块是被导入还是被重新加载 我知道我可以创建一个类 并且 init 仅在第一次导入时被调用 但我没有计划创建一个类 不过 如果没有一种简单的方法来判断我们是被导入还是被重新加载 我会的 The 的文档
  • 如何制作自定义组件属性?

    我需要帮助来制作一个控件属性 当您单击它时 它会弹出一个自定义对话框 例如设置 就像 TPicture 一样 有什么想法或建议吗 如果您的类用作其他组件的属性 并且您想使用对象检查器来调用对话框 那么您必须实现并注册一个自定义属性编辑器 例