相关疑难解决方法(0)

如何在Delphi Docking示例中添加持久性

虽然我知道,除了包括德尔福对接演示还有其他更好的对接库,提供如开发快递库JVCL对接库,但对于具体的示范项目,我仅限于只使用Delphi的内置功能(尽管存在一些明显的缺陷).

我的问题涉及为对接状态添加持久性.我从检查Controls.pas看到,TDockTree是默认的Dock管理器,它有Stream I/O例程.在SO和各种论坛上挖掘,虽然我无法看到有人称这些例程.我已经尝试从相关的Create和OnDrop事件加载并保存到一个文件,但是我在黑暗中刺伤.我很高兴保存和恢复表单大小和状态,但我正在努力解决我应该保存的概念.任何善良的人都会给我一个起点吗?

我正在使用Delphi XE3,所以所有(?)的东西都是可能的!

非常感谢.

delphi persistence docking delphi-xe3

11
推荐指数
1
解决办法
791
查看次数

如何在没有可停靠窗体的缓慢冻结运动的情况下制作像IDE这样的可停靠窗体?

如何在没有可停靠窗体的缓慢冻结运动的情况下执行IDE方法或最终制作基本停靠方法?

当我在Delphi中搜索可停靠的表格并在程序员天堂上找到Zibadian的帖子时:

首先:Delphi IDE中的窗口不是MDI格式,而是SDI格式.

现在创建一个可停靠的窗口.

Form2将是可停靠的,Form1将是停靠它的地方.在Form1上放置一个控件(如TPanel)来为DockSite提供服务.确保为该控件将DockSite和UseDockManager属性设置为true.

对于Form2,将DragKind设置为dkDrop,将DragMode设置为dmAutomatic,将UseDockManager设置为true.

那是基本的码头功能.如果您运行程序,显示Form2并将该表单拖到停靠站点上,它应该停靠在该站点上.你甚至可以通过抓住你在IDE中看到的"标题"来取消它.

对我来说,该方法非常缓慢地移动可停靠的形式.然而,Zibadian的答案继续描述IDE如何做到:

IDE的dock方法稍微复杂一些,因为您没有看到docksite.我想,你需要编写一个Form1.OnDockOver或Form1.OnDockDrop来执行它.那些(那些)事件需要在适当的位置显示码头站点.

delphi drag-and-drop

5
推荐指数
1
解决办法
9944
查看次数

标签 统计

delphi ×2

delphi-xe3 ×1

docking ×1

drag-and-drop ×1

persistence ×1