我想在应用程序中添加停靠功能,没有需要,现在我这样做了,但是每当单击并向“停靠站点”或从“停靠站点”拖动面板时,窗口矩形在桌面上被画得很丑(闪烁)帆布。
所以,我的问题是:
- 有什么简单而优雅的方法可以通过覆盖某些方法来克服这个问题?
我想在应用程序中添加停靠功能,没有需要,现在我这样做了,但是每当单击并向“停靠站点”或从“停靠站点”拖动面板时,窗口矩形在桌面上被画得很丑(闪烁)帆布。
所以,我的问题是:
我做了很多对接的 UI,到目前为止我发现的唯一方法是使用第三方对接解决方案,例如在 JVCL 中找到的解决方案。
如果您将 aTJvDockServer
放在主窗体(其他窗体将停靠的那个)上,然后将 a 拖放TJvDockClient
到上述每个停靠的窗体上,并分配相同的样式(例如TJvDockVCStyle
),它会完全改变停靠的行为,包括拖动窗口停靠时呈现的矩形。
也许您可以从这些组件中提取所需的代码来绘制您自己的自定义矩形,以在拖动到停靠时表示表单。
官方 RAD Studio Demos SVN Repository上有一个出色的示例项目。这个演示做了所有你想要做的关于整齐对接而不闪烁的事情。它完美地再现了 Windows 可以停靠在 RAD Studio IDE 本身中的方式。
emba 代码示例已移动:svn://svn.code.sf.net/p/radstudiodemos/code/branches/RadStudio_XE/Delphi/VCL/Docking