问题描述
您的用户是否依赖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.
这篇关于在打开的窗口之间导航? (意见)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!