什么方法可以做出半透明的窗体。(50分)

  • 主题发起人 主题发起人 duckdo
  • 开始时间 开始时间
看看这里 :http://www.delphibbs.com/delphibbs/dispq.asp?lid=852988
 
老卷替你搜索了.:)<br><br>你也应该学会搜索. '半透明'<br>
 
我希望做背景,象透明窗体一样,半透明窗体后的窗体接受鼠标焦点。
 
windows2000里面有个函数可以直接作半透明
 
用ActiveSkin好了,什么叫做接受鼠标焦点?
 
使用extrapack控件,<br>http://202.96.70.228/cakk/delphi/delphi.htm<br>上有,好用极了!
 
啊来晚了同ZHCG!我就用过EPFORM控件!
 
只要用DELPHI6就可以了,设置AlphaBlend &nbsp;的属性就行了。
 
AlphaBlend 就全都透明了。。 :(<br>
 
可以自己设定透明值亚,就是AlphaBlendValue呀,0-不透明,255-完全透明
 
var<br>&nbsp; rtn:Integer;<br>begin<br>&nbsp; &nbsp; setwindowlong(self.handle,gwl_exstyle,(getwindowlong(self.handle,gwl_exstyle) or WS_EX_LAYERED));<br><br> rtn:=getwindowlong(self.handle,gwl_exstyle);//取的窗口原先的样式<br> rtn:= rtn Or WS_EX_LAYERED;// &nbsp; &nbsp; 使窗体添加上新的样式WS_EX_LAYERED<br>&nbsp; &nbsp; setwindowlong(self.handle,gwl_exstyle,rtn); //把新的样式赋给窗体<br> SetLayeredWindowAttributes(self.handle,0,SpinEdit1.Value ,LWA_ALPHA);//把窗体设置成半透明样式,第三个参数表示透明程度,取值范围0--255,为0时就是一个全透明的窗体了<br>end;
 
楼上:这么古老的帖子你是怎么找出来的?<br><br>你这样建立的窗子我怎么放其他的冬冬呢?
 
用AlphaBlend,设置AlphaBlendValue的值虽然可以半透明,但好象半透明窗体后的窗体接受不到鼠标焦点。望指教!
 
用这个就行<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=2095412
 
如果是D6或D7,可以在窗体属性里直接设置AlphaBlendValue的值,<br>D5可以<br>SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE) or WS_EX_LAYERED);<br>SetLayeredWindowAttributes(Handle, 0, 180, 2);
 
这种破技术有鸟用,<br>还讨论这么积极
 
后退
顶部