B
BmwHans1
Unregistered / Unconfirmed
GUEST, unregistred user!
关于MDI应用中的子窗体列表显示,本人已在网上查了很多相关贴子,也找到了很多解决方法,但在我自己的程序中就是不行。首先介绍一下我的程序的实现:
1 主应用程序是一个框架,就是一个MDI Form,主菜单分本个部分,‘系统’菜单项包含一些类似于注销、修改密码、退出等所有登录用户都有的功能,‘窗口’菜单项中有对子窗体的排列方法,大家都知道可通过StandardAction实现;而具体的业务权限菜单取决于登录用户的权限动态生成,放在‘系统’菜单与‘窗口’菜单项之间,个数不确定,每个菜单还有子菜单
2 各个子窗体封装在.dll中,调用一个业务功能菜单,就是加载一个.dll,然后打开窗体,所有子窗体都是MDI Child。
3 当打开多个子窗体时,‘窗口’菜单下的几个排列子窗体的子菜单都可用,如层叠、竖排等,但如何实现在‘窗口’菜单下显示已打开的子窗体的列表?
我查了很多贴子,给出的主要解决方法是,将MDI Form的windowmenu设为‘窗口’这个菜单项即可。这个我也试了,我发现在设置静态菜单下是完全正确的,而我的是动态创建主菜单,这个方法试了就是不行。
另外,还有人提出,每个菜单项的快捷键不能相同,否则不能生成窗体列表,而我的程序会自动生成快捷键,把mainmenu.AutoHotkeys置为false也是如此,不知道为什么。
以上两个问题,请各位高手指教!
1 主应用程序是一个框架,就是一个MDI Form,主菜单分本个部分,‘系统’菜单项包含一些类似于注销、修改密码、退出等所有登录用户都有的功能,‘窗口’菜单项中有对子窗体的排列方法,大家都知道可通过StandardAction实现;而具体的业务权限菜单取决于登录用户的权限动态生成,放在‘系统’菜单与‘窗口’菜单项之间,个数不确定,每个菜单还有子菜单
2 各个子窗体封装在.dll中,调用一个业务功能菜单,就是加载一个.dll,然后打开窗体,所有子窗体都是MDI Child。
3 当打开多个子窗体时,‘窗口’菜单下的几个排列子窗体的子菜单都可用,如层叠、竖排等,但如何实现在‘窗口’菜单下显示已打开的子窗体的列表?
我查了很多贴子,给出的主要解决方法是,将MDI Form的windowmenu设为‘窗口’这个菜单项即可。这个我也试了,我发现在设置静态菜单下是完全正确的,而我的是动态创建主菜单,这个方法试了就是不行。
另外,还有人提出,每个菜单项的快捷键不能相同,否则不能生成窗体列表,而我的程序会自动生成快捷键,把mainmenu.AutoHotkeys置为false也是如此,不知道为什么。
以上两个问题,请各位高手指教!