VC6.0 基于对话框程序:
因为我想模仿QQ调色板的透明滑动块,滑动时改变所有打开的窗口透明度.
所以我创建了一个滑动块,添加了NM_RELEASDCAPTURE消息处理函数...
接下来我该怎么做呢..
因为我想模仿QQ调色板的透明滑动块,滑动时改变所有打开的窗口透明度.
所以我创建了一个滑动块,添加了NM_RELEASDCAPTURE消息处理函数...
接下来我该怎么做呢..
解决方案 »
- 指针设置为NULL之后还可以用delete释放么?
- 请问谁有measurementstudio for vc++6.0的软件下载地址呀。或者是教程也行。先谢了
- 看来月末升星计划要泡汤了,散点技术分庆贺元旦吧,大家都来顶吧
- 怎样打印List控件中的内容,另外List控件的外观怎么设置漂亮一点。就像DataGrid那样???
- 如何在MFC程序里面应用MVC模式?
- 工具条的按钮如何变小呢?
- ATM操作如何保证若干个异地数据库同步?
- 从sqlexpress读取图片显示到对话框的picture control控件怎么也显示不出来
- 谁知道Janus GridEX 2000b发行版的下载地址?
- 在Window程序中怎样得到argc ,argv,象控制台程序有main( int argc , char ** argv );
- 怎样触发Socket事件?
- 关于视频监控不清楚的地方,希望大家给小弟解惑啊(最后这点分都用了)
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary(_T("User32.DLL"));
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)fun(this->GetSafeHwnd(),0,(255*98)/100,2); //透明度
FreeLibrary(hInst);
}
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,\
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)|0x80000);//直接加上WS_EX_LAYERED属性
或者判断一下,当不具有WS_EX_LAYERED属性时再这样操作:
DWORD dwExStyle=GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE);
if((dwExStyle&0x80000)!=0x80000)
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,dwExStyle^0x80000); 另外如果你在VS2003以上版本的MFC里时可以不用这么麻烦,直接用下面两行代码就可以实现窗口透明的效果了:
ModifyStyleEx(0, WS_EX_LAYERED);//修改窗口属性为WS_EX_LAYERED
SetLayeredWindowAttributes(0, 192, LWA_ALPHA); //实现透明效果
特别地感谢l_xiangxi的回答,你的武艺果然有效!!