设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5502|回复: 15
打印 上一主题 下一主题

[窗体] 请教两个窗口全屏的问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-9-11 20:45:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
20金钱
本帖最后由 lazybird 于 2012-9-11 20:47 编辑



问题1:我将窗口的“弹出”属性设为“是”并最大化全屏之后,想设计一个“退出全屏”的按钮,希望能够将窗口的“弹出”属性设为“否”并仍然最大化,只是将菜单栏显示出来,请问如何实现? 在代码中插入“Me.Popup=False”总是会报错。

问题2:最大化时请问如何将底部windows菜单栏隐藏(在不设置菜单栏自动隐藏的情况下),做到真正的全屏?
附件: 您需要 登录 才可以下载或查看,没有帐号?注册

最佳答案

查看完整内容

问题1:窗体打开时不能设置Popup属性,你的要求可以通过2个窗体实现,1个弹出窗体,1个普通窗体,2个窗体都打开并最大化,关闭弹出窗体后就会看到普通窗体还有菜单栏。 问题2:弹出窗体将边框样式属性设为无,打开并最大化后自然会挡住底部windows任务栏。最大化代码是DoCmd.Maximize。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2012-9-11 20:45:01 | 只看该作者
问题1:窗体打开时不能设置Popup属性,你的要求可以通过2个窗体实现,1个弹出窗体,1个普通窗体,2个窗体都打开并最大化,关闭弹出窗体后就会看到普通窗体还有菜单栏。
问题2:弹出窗体将边框样式属性设为无,打开并最大化后自然会挡住底部windows任务栏。最大化代码是DoCmd.Maximize。
回复

使用道具 举报

3#
 楼主| 发表于 2012-9-11 21:10:49 | 只看该作者
多谢版主,第二个问题算是解决了。第一个问题的解决方案不理想,假如我在窗体上进行操作,例如查询筛选数据,那么两个窗体并不会同步显示一样的东西啊,况且同时打开两个窗体也占资源,有没有更好的办法?
回复

使用道具 举报

点击这里给我发消息

4#
发表于 2012-9-11 21:35:48 | 只看该作者
查询筛选数据 —— 有必要全屏吗?
仅在登录时用一下吧,我还没用过呢{:soso_e101:}
回复

使用道具 举报

5#
 楼主| 发表于 2012-9-11 21:51:15 | 只看该作者
呵呵~ 我的程序程序需要将某种产品的数据查询出来显示到一个电视机上,作为展示屏。希望版主帮忙想想办法。
回复

使用道具 举报

6#
发表于 2012-9-12 15:11:46 | 只看该作者
做一个全屏的背景就可以了,其他的窗体可以不全屏,也可以的吧。
回复

使用道具 举报

7#
 楼主| 发表于 2012-9-13 10:40:50 | 只看该作者
回楼上的,这样还是不能在显示和不显示Access菜单的两种状态间切换。其实归根到底我的问题是如何实现通过代码改变窗口的“弹出”属性。
回复

使用道具 举报

8#
发表于 2012-9-13 15:33:17 | 只看该作者
其实归根到底我的问题是如何实现通过代码改变窗口的“弹出”属性。

不可的。为什么?
==


回复

使用道具 举报

9#
发表于 2012-9-13 15:47:49 | 只看该作者


在“CWnd::CreateEx”创建窗体时,WS_POPUP   和 WS_CHILD   是不能同时使用的,
只有创建时才可能设置这MS说的。

而你现在要弹出窗体改为子窗体,是同样 的道理的。


如果你非要,那给你一段VC中的参考代码,
对话框在WS_POPUP与WS_CHILD之间转换(原创)
                                    
BOOL Create( UINT nIDTemplate,CWnd* pParentWnd );

BOOL CChildDialog::Create( UINT nIDTemplate,CWnd* pParentWnd )
{
HINSTANCE hInst = AfxFindResourceHandle( MAKEINTRESOURCE( nIDTemplate ), RT_DIALOG);
HRSRC hResource = ::FindResource(hInst,MAKEINTRESOURCE( nIDTemplate ), RT_DIALOG);
HGLOBAL hTemplate = LoadResource(hInst, hResource);
ASSERT( hTemplate );
LPCDLGTEMPLATE lpDialogTemplate = ( LPCDLGTEMPLATE )LockResource( hTemplate );
ASSERT( lpDialogTemplate );
DWORD *ptrStyle = ( DWORD* )&lpDialogTemplate->style;
*ptrStyle &= ~( WS_OVERLAPPEDWINDOW|WS_POPUPWINDOW );
*ptrStyle |= WS_CHILDWINDOW;
UnlockResource( hTemplate );
BOOL bResult = CreateIndirect(hTemplate, pParentWnd, hInst);
FreeResource(hTemplate);

return bResult;
}

MSDN中的资料:
WS_POPUP   Creates a pop-up window. Cannot be used with the WS_CHILD style.
WS_CHILD   Creates a child window. Cannot be used with the WS_POPUP style.

回复

使用道具 举报

10#
发表于 2012-9-13 16:00:30 | 只看该作者
另外告诉你,你也别指望 用 SetParent 来改变。

上面的代码也是通过偷梁换柱来达到目的

WS_POPUP   和 WS_CHILD   至于为什么不能共容,这说来话长,我也是新手一时也说不上。

接分了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 00:00 , Processed in 0.094813 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表