| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2666 人关注过本帖, 1 人收藏
标题:请问:VFP无边框的窗口如何才能显示阴影效果?
只看楼主 加入收藏
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:10 
请问:VFP无边框的窗口如何才能显示阴影效果?
BorderStyle=0无边框窗口没有窗口阴影,缺少层次感,BorderStyle=1也没有阴影,请教怎样才能有阴影呢?
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 边框 窗口 效果 显示 VFP 
2020-02-26 13:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
要随心所欲,设成无边框无标题,边框标题底图自己绘制。
2020-02-26 14:31
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
收藏
得分:0 
回复 2楼 吹水佬
谢谢!刚刚用API函数试了,GetClassLong ,SetClassLong ,但是只有左边和下边才有阴影。
图片附件: 游客没有浏览图片的权限,请 登录注册

piu~piu~
2020-02-26 14:59
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
收藏
得分:0 
boderstyle设置为0,titlebar=.f., 表单LOAD事件里加下面的代码,边框就是上面图片的样子。
DECLARE INTEGER SetClassLong IN user32 INTEGER nhandler, INTEGER GclStyle, INTEGER hSrcRgn2
DECLARE INTEGER GetClassLong IN user32 Integer nhandler, integer nindex
#define  CS_DropSHADOW  0x20000
#define GCL_STYLE  (-26)
SetClassLong(thisform.HWnd,GCL_STYLE  ,BITOR(GetClassLong(thisform.hwnd,GCL_STYLE  ),CS_DropSHADOW) )
这个API函数是我看https://ask.的帖子后改的,但是不了解声明中参数GCL_STYLE  和CS_DropSHADOW  的意思,是不是改下参数就可以四边都有阴影呢?
跪求大佬点拔

piu~piu~
2020-02-26 15:22
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:20 
回复 4楼 瓜瓜1990
窗口类结构 WNDCLASSEX 成员style(窗口样式),GCL_STYLE就是这个成员标志。
CS_DROPSHADOW 是窗口阴影效果标志

SetClassLong(thisform.HWnd,GCL_STYLE  ,BITOR(GetClassLong(thisform.hwnd,GCL_STYLE),CS_DropSHADOW))
这句就是在窗口原来样式上再增加一个阴影效果

这个窗口样式设置与表单的boderstyle和titlebar属性无关,但表单必需是顶层表单 ShowWindow=2
通常先判断窗口样式有无 CS_DROPSHADOW 阴影效果标志,如:

nStyle = GetClassLong(thisform.hWnd, GCL_STYLE)
IF BITAND(nStyle, CS_DROPSHADOW) == 0
    SetClassLong(thisform.hWnd,  GCL_STYLE,  BITOR(nStyle,CS_DROPSHADOW))
ENDIF

另:四边不可能都有阴影的吧,有光影才有阴影
2020-02-26 23:29
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:610
专家分:1784
注 册:2017-7-16
收藏
得分:0 
唉!有这点时间,还不如,写好程序代码呢。。。
2020-02-27 09:25
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
收藏
得分:0 
回复 6楼 gs2536785678
用分层窗口和透明效果可以做四边的阴影,效果还可以
图片附件: 游客没有浏览图片的权限,请 登录注册

piu~piu~
2020-02-29 17:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
回复 7楼 瓜瓜1990
要好看还是用图片,就看设计了。
2020-02-29 19:03
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
收藏
得分:0 
回复 8楼 吹水佬
用图片做皮肤?和阴影效果不一样吧

[此贴子已经被作者于2020-8-18 20:33编辑过]


piu~piu~
2020-02-29 20:27
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:171
专家分:19
注 册:2013-8-12
收藏
得分:0 
回复 7楼 瓜瓜1990
请问楼主,能分享一下您说的分层窗口和透明效果的具体代码吗?我一直也想美化一下VFP的无边框窗体效果,但一直不得其法,一度放弃了,看了你的图片,又想去研究学习一下。
2021-05-27 00:42
快速回复:请问:VFP无边框的窗口如何才能显示阴影效果?
数据加载中...
 
   



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

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