问题标签 [vcl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3531 浏览

delphi - 德尔福拖动图像挑战

下面的代码使控件(例如标签)在拖动操作时显示拖动图像。

我的问题是我不想在拖动开始时立即显示拖动图像,我希望在鼠标位于控件的特定边界时显示图像 - 例如在标签的右半部分。

到目前为止,我还没有找到解决方案 - 图像会立即显示(除非我修改 VCL 源)。在放弃 VCL 拖放实用程序并滚动自定义捕获鼠标之前,我很欣赏在这一点上获得所需行为的任​​何技巧。

这是为标签启用拖动图像的示例伪代码。

0 投票
2 回答
13699 浏览

delphi - 在 Delphi 2009 应用程序中隐藏主窗体

以下代码在 Delphi 7 中运行良好。然而,在 Delphi 2009 中,表单确实保持隐藏状态,但任务栏上的按钮现在出现了。

上面的代码是在 FormCreate 方法中调用的。

0 投票
7 回答
1318 浏览

delphi - 有没有办法在 Delphi 中找到未使用的事件处理程序?

在 Delphi 中查找死代码通常非常简单:只需编译然后扫描缺少蓝点的例程。大多数时候,智能链接器非常擅长追踪它们。

问题是,这对事件处理程序不起作用,因为它们是已发布的方法,(理论上)可以通过 RTTI 以某种方式调用,即使这在实际实践中几乎从未发生过。

我正在尝试清理一个大型 VCL 表单单元,该单元在其历史上曾多次弯曲、折叠、旋转和肢解。如果我有办法找到表单的 DFM 实际未引用的事件处理程序并删除它们,那肯定会很好。有什么简单的方法可以做到这一点?例如,插件 IDE 专家?

0 投票
3 回答
4546 浏览

c++ - C++ Builder [C++ 错误] sysmac.h(58):E2040 声明错误终止

我想创建一个不使用 VCL 的 C++ Builder DLL 项目。但我在 sysmac 中收到此错误。有谁知道这个错误的可能原因?

0 投票
6 回答
7742 浏览

c++builder - 如何将 Borland C++ builder 的代码移植到 Linux?

我有一个用 C++ 编写并使用 Visual Component Library 的 Windows DLL 的源代码。现在我的任务是将它移植到 Linux,但我没有 VCL 本身的源代码或任何类型的文档(而且我从未使用过 Borland C++;在我的 Windows 时代,我使用 MFC)。

这应该不是那么难,因为我的 DLL 没有任何 GUI:据我所知,它主要使用 VCL 进行多线程处理。我遇到了一个继承自 TThread 的类,这就是我卡住的地方。我在互联网上进行了一些搜索,但到目前为止没有找到 VCL 的文档。我想避免购买有关 Borland C++ Builder 的书,因为我没有时间等待它从亚马逊上来。我不能考虑购买适用于 Windows 的软件包,因为在工作中我只有一个 Linux 机器。

有什么建议么?

0 投票
2 回答
8236 浏览

delphi - Delphi - 使用 TApplicationEvents OnShortCut 事件检测 Alt+C 按键

我正在使用 TApplicationEvents OnShortCut 事件在 Delphi 程序中获取应用程序键盘快捷键。

使用以下代码:

问题:

如何检测何时按下“ALT C”?

0 投票
3 回答
4711 浏览

delphi - 如何捕获以 TDBGrid 作为其父级的按钮的单击事件?

我有一个小按钮,我想添加到 Delphi TDBGrid 组件的左上角(在标题/标题单元格中)。我可以轻松放置按钮,但现在未处理单击事件。我猜这个事件被网格捕获了。有什么办法可以强制此特定事件转到按钮?注意我仍然需要网格来处理它的标题按钮的点击事件,就像它目前所做的那样。

**更新:**我发现我可以使用按钮的 MouseDown 事件,这似乎工作得很好,但我不能使用 click 事件。

0 投票
5 回答
3126 浏览

delphi - 如何隐藏 TRibbon 页面?

我正在使用 delphi 2009 的 TRibbon 组件。根据应用程序状态,某些页面不相关。如何隐藏 TRibbon 页面?

RibbonPage1.Visible:=false 并没有真正隐藏页面......

微软的规范可能不允许这样做吗?

谢谢你的帮助!mp

0 投票
1 回答
937 浏览

delphi - delphi 的 TMonthCalendar - 禁用按钮

是否可以禁用更改 TMonthCalendar 上的日期的按钮(VCL 本机)?

0 投票
2 回答
632 浏览

delphi - Delphi - 如何解决这种奇怪的 TGrid 行为?

德尔福 2007。

我有一个 TGrid 的行数超过了屏幕上的容量,并且网格的高度使得底部有一个部分绘制的行。当我单击这部分行时,它会跳起来完全可见(通过 Grids.pas 中名为“ClampInView”的过程)。但它并没有停止。由于鼠标现在位于一个新的部分绘制的行上,所以它也会跳起来。

最终效果是单击部分绘制的行开始选择垂直列中的单元格,一直旋转到底部(或直到您释放鼠标)。

我已经在一个新的 winforms 项目上复制了这个,只有一个 100 行的网格,没有代码,所以我很确定这不是我在代码中做错的事情。

这对我来说很糟糕,因为我在实际代码中的表单具有拖放类型的行为,因此在部分行上单击并释放 ~0.1 秒后将拾取单元格中的项目并将其放下约 50 行。当您单击一个单元格时,这绝对不是您所期望的。

有什么建议可以解决/解决这个问题吗?