7得票2回答
在Delphi中销毁一个表单的正确方法是什么?

我只保留了自动生成表单中的主要表单,并删除了其余表单。基本上,我使用以下方式调用这些表单: TMyForm.Create(Self).Show; 但是当我的工作使用这个表单完成后,我应该用最好的方式释放这个表单所使用的资源?我查阅了Free,Action.CaFree,Destroy,F...

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

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

9得票3回答
为什么在同步线程上弹出一个MessageBox不会阻塞应用程序?

据我所知,如果您同步代码,TThread类的方法实际上会在主应用程序线程中执行(就像计时器/按钮单击等一样)。 我一直在尝试并注意到MessageBox不会阻塞主应用程序,但是sleep确实会按预期阻塞。为什么会这样呢? type TTestThread = class(TThread)...

11得票1回答
以角度绘制文字

我正在编写一个VCL / Delphi应用程序,需要在Canvas对象上绘制文本。然而,我遇到了麻烦,因为我需要以可变大小和角度绘制文本。有没有简单的方法可以做到这一点?TextOut方法只接受起始坐标的参数,因此我不知道如何绘制旋转的文本。 谢谢!

8得票4回答
Windows 7与Delphi的集成

我需要组件将我的应用程序集成到Windows 7中,我指的是任务栏具有进度条、按钮、文本等功能。 你知道最好的是什么吗?

7得票3回答
如何防止两个底部对齐的控件反转顺序?

我有一个包含三个主要组件的表单: 一个FlowPanel,设置为Align to Client 第二个FlowPanel,设置为Align to Bottom 一个StatusBar,设置为Align to Bottom。 一切都开始看起来很好。但是,对齐到底部的FlowPanel也设...

9得票2回答
从TStringList中删除空字符串

Delphi中是否有内置函数可以从TStringList中删除所有空字符串? 如何循环遍历列表以删除这些项?

9得票1回答
隐藏VCL类

有一些编程工具,例如WinSpy++,可以让您将鼠标悬停在任何控件/组件的句柄上,并返回该句柄的类名。例如,如果我在Delphi窗体上放置了一个TMemo并编译了应用程序,如果我使用WinSpy++并将鼠标悬停在应用程序上方(在Memo上方),它将显示编辑器的类名为TMemo。 现在,假设我...

7得票1回答
TListView SelCount 报告虚拟列表中选择的项数错误

我需要根据列表中是否选择至少一行来启用或禁用按钮。 以下是重现此问题的代码。使用 OnData 事件填充列表,并允许选择多个行。 我认为可以使用 OnSelectItem 检测用户更改选择时,然后使用 TListView SelCount 函数检测所选行数。 问题在于,当用户选择多个行时...

8得票2回答
在Delphi 2009应用程序中隐藏主窗体

以下代码在Delphi 7中运行正常。然而,在Delphi 2009中,窗体仍然隐藏,但任务栏上的按钮现在出现了。 ShowWindow(Handle, SW_HIDE); SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GW...