标题:[知识经验分享]全屏化/窗口化的一种实现方法
只看楼主
wsg1212
Rank: 1
来 自:518抽奖软件
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-6
 问题点数:0 回复次数:3 
[知识经验分享]全屏化/窗口化的一种实现方法
我在编写自己的一款商业软件(518抽奖软件http://www.)的时候,需要全屏化/窗口化的功能,且窗口化的时候不能显示边框(将电脑屏幕投影到LED大屏幕),由于找不到合适的代码,自己写了一个,经过修改测试,效果还比较理想。

设置界面


源码一:设置后刷新


源码二:创建主窗口


源码三:主窗口激活/失活
搜索更多相关主题的帖子: 大屏幕 知识 软件 投影 
2015-05-06 00:21
AleTiff
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:64
专家分:157
注 册:2015-3-30
得分:0 


网上一大把呢,怎么会找不到?本质上就是函数 SetWindowLong 呢。

我知道你也无非是在运营一下你的产品,但我很不喜欢形成误导的内容。毕竟这里很多很多的初学者,我们可以不想说而不说,但一旦形成文字,就尽量不要引起误导。
2015-05-11 13:21
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
这么麻烦到底哪句才是形成全屏的关键语句真该标出来。SetWindowPos不是设置窗口的叠放顺序吗?
2015-05-11 15:55
AleTiff
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:64
专家分:157
注 册:2015-3-30
得分:0 
嗯,是的,他使用的方法,不是全屏模式,是一个类似于放大视口的方案。

这种方案在单显示器环境下是可行的。SetWindowPos 有很多用途,叠放、位置、尺寸,都可以通过它来改变。在他上面的代码里,本质上他是通过获得当前显示器分辨率,然后把应用程序的客户窗口部分直接扩大为显示器分辨率,把标题条、边框等非客户区顶出显示区域来获得全屏效果。

通常我们认为,能解决问题的方案就是好方案,所以,这种方案在这种环境下是可用的,但它不是真全屏模式,要求必须是单一显示器并且没有其他会改变分辨率的应用在运行。

我之所以要指出混淆的地方,主要是,如果利用系统自己提供的方法,不仅代码更简单,适应性也会更好。仅此而已。
2015-05-12 10:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444887-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.201206 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved