窗口阴影效果:窗口类style属性添加CS_DROPSHADOW

来源:互联网 发布:java中属性和字段区别 编辑:程序博客网 时间:2024/06/05 04:14

但是有一个问题:这个效果会在一开始创建窗口时就生效。如果希望实现创建窗口后,窗口暂时不显示,那么此时这个阴影还是会出现,看起来就很怪。

 

为了试图在窗口真正显示时才显示边框,我尝试过以下几种办法:

 

1. 在CreateWindowEx时,不设WS_VISIBLE,而是在之后再SetWindowLongPtr,加上WS_VISIBLE属性;

2. 在CreateWindowEx时,窗口大小设为0,之后再MoveWindow;

3. 在RegisterClass之前,窗口类不设置CS_DROPSHADOW,之后再SetClassLongPtr,加上CS_DROPSHADOW;

4. 在CreateWindowEx之前,先SystemParametersInfo,禁用SPI_SETDROPSHADOW为FALSE,再在之后设为TRUE;

 

以上四种操作结果都是同样的:在窗口创建时,确实没有阴影了;但是在窗口真正显示时,还是没有阴影效果。也就是说,这东西似乎只有在CreateWindowEx的当时如果显示,才能显示,否则就永远显示不出来了……不知道有没有其它解决办法。

 

 

原创粉丝点击