窗口设置为透明
2005-03-12 22:26
323 查看
void __fastcall TForm1::FormCreate(TObject *Sender) { long lRt=GetWindowLong(Handle,GWL_EXSTYLE); lRt=lRt|WS_EX_LAYERED; SetWindowLong(Handle,GWL_EXSTYLE,lRt); SetLayeredWindowAttributes(Handle,clBlue,200,LWA_ALPHA); }
用SetWindowLong设置Form的属性是Layered Window,然后用
SetLayeredWindowAttributes( HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);
来设置透明效果,其中hwnd是窗口句柄(Form->Handle),crKey是透明的颜色,如果dwFlags包含了#define LWA_COLORKEY 0x00000001,就可以让crKey指定的颜色变成透明。bAlpha是Alpha半透明的百分比,dwFlags中包含#define LWA_ALPHA 0x00000002的话,就可以用它指定半透明效果,0=0%(全透明,隐藏) 255=100%(不透明)。
此外还可以用AnimateWindow让窗口淡入淡出。你可以去查最新的MSDN,或者直接看winuser.h的头文件里的函数定义,很简单的。(SetLayeredWindowAttribute在BCB的Win32API帮助里没有,因为那个帮助太老了)
相关文章推荐
- wpf中如何将窗口设置为透明
- Windows编程里,怎样设置窗口背景透明
- QT 实现子控件的透明,可以实现主窗口设置背景皮肤
- 设置窗口透明
- VC设置窗口透明
- 设置窗口透明
- 设置窗口分层透明和固定秒数后自动消失
- wpf中如何将窗口设置为透明
- 【引用】Qt中设置窗口的透明
- Qt编程—去掉标题栏和设置窗口透明用法
- MFC设置透明窗口
- Qt之设置窗口透明
- mfc 窗口透明设置
- wpf中如何将窗口设置为透明
- Qt设置窗口背景透明
- 设置窗口透明
- 去除对话框边框 + 设置窗口可移动和透明+取消主窗口状态栏
- WinAPI: SetLayeredWindowAttributes - 设置窗口的透明
- windowsSDK利用子窗口控件设置窗口透明
- mfc 窗口透明设置