|
|
1
6
可停靠窗格中选项卡窗格的标题存储在注册表中。如果注册表中已存在标题,则不使用创建时使用的标题。
使用AppWizard创建的设置,注册表设置位于:
存储在这个键中的值基本上是一个二进制文件,由docking manager在启动时序列化到窗格中。这些内容没有文档记录,但是您可以在afxdockablepane.cpp中看到代码在做什么。
|
|
|
2
2
嗯,也许我误解了,但我只是在CDockablePane的实例上调用了“SetWindowText”。 它的标题更改为我传递给“SetWindowText”的内容。。。 |
|
|
3
1
我遇到了类似的问题,在应用程序第一次关闭后,两个窗格的名称相同。我删除了注册表项,第一次开始一切正常,第二次我又得到同样的错误。 SetWindowText(“MyPane”);在覆盖中 当然,他干的是脏活。它不是设置windows标题的最佳位置,但是正如Colerman在上面所说的,SetWindowsText并不是总是像它应该的那样工作。 无论如何,当应用程序启动时,窗格定位进程总是调用 尺寸 之后 窗格的创建完成了,所以对我来说,这个肮脏的黑客做的把戏。 |
|
|
4
0
窗口的名称在LoadState()时序列化。删除应用程序中与窗口位置相关的所有注册表信息。就我而言,它在HKCU\Software\my App Name。 |
|
|
5
0
我也遇到了同样的问题,但由于我不喜欢这里提供的任何解决方案,我进一步发现,通过引用
|
|
|
6
0
由于选项卡的文本存储在注册表中,而执行该操作的代码隐藏得很好,而且没有文档记录,因此我发现了一种不好的方法来做您想做的事情。 将.rc文件中的字符串表更改为所需的格式,例如,我在此处将ClassView更改为LayerView:
在mainframe类中添加以下调用:
关闭 然后 你的应用程序存储在注册表中的名称将是你放在.rc文件中的名称。 现在您可以注释掉对DisableRestoreDockState的调用,因为正确的调用存储在注册表中。在你的用户电脑上安装新的软件也可以。
HTH公司 |