7得票4回答
如何在Delphi中动态创建组件,例如TLabel或TEdit等?

使用 Delphi 2010 SQLQuery1.First; // move to the first record while(not SQLQuery1.EOF)do begin // do something with the current record // What...

8得票4回答
开发 Delphi VCL 组件时应使用哪个基类?

如果我想替换一个VCL组件TXxx,我应该基于TXxx还是TCustomXxx来创建我的组件? 我想制作各种文本编辑组件的插件替代品(TEdit,TMemo等),以具有WM_PASTE处理程序,以对非常挑剔的后端进行输入清理,只接受基本上只有7位ASCII可打印字形、空格和CR / LF对....

8得票1回答
TEdit和WM_PAINT消息处理程序的奇怪行为

我正在尝试在TEdit控件没有焦点时实现自己的绘图(在编辑器没有完全显示其文本时在TEdit中显示省略号)。因此,我从以下代码开始: type TEdit = class(StdCtrls.TEdit) private FEllipsis: Boolean; FCan...

7得票3回答
在运行时删除并替换可视化组件

是否有可能在运行时使用子类化组件替换和释放TEdit?如果是这样,应该如何做?我尝试在表单构造函数和AfterConstruction方法中将父级设置为nil并调用free(),但在两种情况下都出现了运行时错误。 更具体地说,我遇到了访问冲突错误(EAccessViolation)。当释...

10得票4回答
如何检查我的应用程序是否具有焦点?

我想要做的是检查我的应用程序是否具有焦点,因为如果没有焦点,那么我将弹出一个警报窗口,覆盖在通知区域上,向最终用户显示一些信息。

9得票1回答
针对FMX或VCL有条件地编译单元

我希望在编译FMX或VCL时,在uses子句中使用不同的单位列表。在下面的代码中,我试图测试FireMonkeyVersion,这在FMX项目中有效(label1.Text为“FMX”)。当我将$IF语句移动到uses子句中时,会出现错误消息([dcc32 Error] fmx_text.pa...

11得票1回答
如何创建一个表单,在另一个模态窗口显示时不被禁用?

我有一个实用程序对话框(非模态和置顶),应该在使用应用程序时始终可访问(比如在使用应用程序时可以用来做笔记的对话框)即使模态对话框被显示。 应用程序的其余部分不能更改。 这是否可能?我该怎么做?

9得票2回答
为什么TService上还没有Description属性?

一直以来,Delphi的VCL中的TService都没有Description属性,这一点总是让人感到奇怪。即使到了今天,Delphi XE2仍然没有这个属性。它是一个如此简单和常见的东西,我不明白为什么没有提供。 我知道如何自己创建它,但我的观点是我不应该这样做。我想知道是否有任何技术原因...

8得票2回答
在Delphi SDI中创建新表单时传递参数

抱歉如果我的表述有点混乱,我不知道该如何更好地解释。在TLoginForm中用户进行身份验证后,将显示聊天表单。 用户登录后显示聊天表单: with TChatForm.Create(Application) do begin Show; end; 我的问题是,我如何将用户名传...

9得票8回答
Delphi创建窗体时不冻结主线程

我在做某个事情时遇到了麻烦。我有一些大型表单需要花费一些时间来创建。为了让应用程序加载更快,我考虑让这些表单在主窗体的OnCreate事件中创建一个线程。该线程具有一个类型为TApplication的FApplication字段,显然是Application变量。我使用它在线程上创建表单,但是...