本文介绍了在打开的窗口之间导航? (意见)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

您的用户是否依赖Windows任务栏在他们打开的表单之间管理/导航

,或者您是否提供另一个(更多

健壮)方法?有没有人使用自定义导航系统(比如

在列表框/命令栏中保留一个可选择的打开表单列表/

breadcrumb trail等)?

Do you have your users rely on the windows taskbar to manage/navigate
between the forms they have open, or do you provide another (more
robust) method? Does anyone use a custom navigation system (like
keeping a selectable list of open forms in a listbox/commandbar/
breadcrumb trail etc.)?

推荐答案



我使用的是Dev Ashish写的,但是如果我能找到一个

的链接就该死了。它需要在

自定义工具栏上放置一个窗口菜单项,当它点击

时,它会向它添加打开的表单和报告。


也许有人在那里知道隐藏的地方,否则当我回到家的时候我会看到




I used one that was written by Dev Ashish, but damned if I can find a
link to it anymore. It requires placing a ''Window'' menu item on a
custom toolbar and it adds open forms and reports to it when you click
on it.

Perhaps someone out there knows where it''s hidden, otherwise I''ll look
for it when I get home.




我使用的是Dev Ashish写的,但是如果我能找到一个

的链接就该死了。它需要在

自定义工具栏上放置一个窗口菜单项,当它点击

时,它会向它添加打开的表单和报告。


也许有人在那里知道隐藏的地方,否则当我回到家的时候,我会看到它的价格为b $ b。


I used one that was written by Dev Ashish, but damned if I can find a
link to it anymore. It requires placing a ''Window'' menu item on a
custom toolbar and it adds open forms and reports to it when you click
on it.

Perhaps someone out there knows where it''s hidden, otherwise I''ll look
for it when I get home.



在此处找到:


谢谢!这是完美的。

Found it here:
http://groups.google.com/group/comp....3915e2db50ad57
Thanks!!! This is perfect.




在此处找到: ...

谢谢!太棒了。


Found it here:http://groups.google.com/group/comp..../browse_thread...
Thanks!!! This is perfect.



你是如何实现它的?代码原样要求表单open和

close事件调用一个函数(''UpdateMenu''),它遍历MDI客户区中打开的

窗口并填充菜单栏;为了

这样做,它利用了Terry Kreft的MDIWindowsZ()函数,其中
获得了打开非模态表单的Z顺序。 。不幸的是,这个

函数只会返回窗口样式可见的窗口;在我的Access 2003中,所有窗体打开事件(打开/加载/调整大小/激活/

当前)在窗口实际可见之前发生,因此每个窗体都是

未通过测试,并且未包含在填充

菜单的列表中。

以下是代码:

strClassName = fGetClassName(hWndChildAfter)

lngStyle = apiGetWindowLong(hWndChildAfter,mcGWLSTYLE)

If(strClassName =" OForm" Or strClassName =" OReport")并且

(lngStyle和mcWSVISIBLE)然后

..添加到列表


我可以使代码工作,如果我删除''( lngStyle和mcWSVISIBLE)''

检查,但是我的生产数据库使用隐藏的表格来保存

状态信息,因此解决方法不可行。

我是否必须在每个

表单上处理某些对象的事件处理程序,直到表单可见之后才会加载?这似乎很可靠。



任何帮助都会受到赞赏。

How did you implement it? The code as-is requires that form open and
close events call a function (''UpdateMenu'') that iterates through open
windows in the MDI client area and populates a menu bar; in order to
do this, it makes use of Terry Kreft''s MDIWindowsZ() function, which
gets the "Z order of open non-modal Forms". Unfortunately, this
function will only return windows having a window style of visible; in
my Access 2003, all the form open events (open/load/resize/activate/
current) occur before the window is actually visible, so each form
fails the test and is not included in the list that populates the
menu.
Here is the code:
strClassName = fGetClassName(hWndChildAfter)
lngStyle = apiGetWindowLong(hWndChildAfter, mcGWLSTYLE)
If (strClassName = "OForm" Or strClassName = "OReport") And
(lngStyle And mcWSVISIBLE) Then
.. add to the list

I can make the code work if I remove the ''(lngStyle And mcWSVISIBLE) ''
check, but my production database makes use of hidden forms for saving
state information, so that workaround is not viable.
Am I going to have to coopt the event handlers of some object on each
form that isn''t loaded until after the form is visible? That seems
quite hack-ish.

Any help would be appreciated.


这篇关于在打开的窗口之间导航? (意见)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 17:49