怎样做透明视图窗口 MFC透明视图窗口VC 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你知道透明的概念吗?透明就是没有也就是用CRgn挖个洞就可以你确定半透明用这方式能行? 你知道透明的概念吗?透明就是没有也就是用CRgn挖个洞就可以你确定半透明用这方式能行?打错了,不好意思 ,透明和半透明都不知道怎么搞CRgn挖个洞是什么意思能具体点吗,有没有示例工程。我想实现 的是基于单视图文档程序,就是视图客户区透明或半透明效果网上写的void CtvView::OnInitialUpdate(){ CView::OnInitialUpdate(); // TODO: 在此添加专用代码和/或调用基类 SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); HINSTANCE hInst = LoadLibrary(_T("User32.DLL")); if(hInst) { INT ret; typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD); MYFUNC fun = NULL; //取得SetLayeredWindowAttributes函数指针 fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes"); if(fun) { ret = fun(this->GetSafeHwnd(), RGB(255, 255, 255), 200, LWA_COLORKEY); ret = GetLastError();//ret = 87,ERROR_INVALID_PARAMETER, } FreeLibrary(hInst); }}总提示参数错误,怎么错误了,还是这种做法就不对啊 layered window半透明只能用于主窗口,比如你希望只有视图半透明,主窗口标题啦菜单啦都不透明,那么普通方法是无法实现的,因为视图窗口其实是主窗口的一个子窗。只有变通的方法可以实现类似效果,比如设置视图类主窗口的透明度为1(肉眼看不见但是可以接受鼠标/键盘的操作控制)然后设置一个和主窗口一样大小的显示Layered窗口重叠放在主窗口下方,通过创建一幅32为bitmap作为中间桥梁,通过bitblt复制肉眼看不见的窗口上所有显示然后处理其中透明部分的alpha值再通过UpdateLayeredWindow显示到显示窗口中。如果想简单就设置定时器定时更新显示窗口的图片,如果不怕麻烦则截获肉眼不可见窗口的各种更新事件然后在窗口发生变化时再更新显示窗口。 车辆识别方法国内外研究现状!!! 如何写一个程序将一个excel表导入,然后导出另一个excel表。 关于中文字符串的比较。 DLL中导出class,受标准c++支持么? 哪里有Visual C++ 5.0 下载? 用ActiveX控件进行串口通信的输入输出问题 如何设置 Radio button 的背景色? 很容易的问题,可是我不知道? 怎样在dll中调用ocx!! MainFrame有DialogBar,如何确保View一直处于激活状态? libcurl发包时修改包头 请教各位大神,关于CAsyncSocket类Receive函数问题
你知道透明的概念吗?
透明就是没有
也就是用
CRgn挖个洞就可以
你确定半透明用这方式能行?
你知道透明的概念吗?
透明就是没有
也就是用
CRgn挖个洞就可以
你确定半透明用这方式能行?打错了,不好意思 ,透明和半透明都不知道怎么搞
CRgn挖个洞是什么意思
能具体点吗,有没有示例工程。
我想实现 的是基于单视图文档程序,就是视图客户区透明或半透明效果
网上写的
void CtvView::OnInitialUpdate()
{
CView::OnInitialUpdate(); // TODO: 在此添加专用代码和/或调用基类
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); HINSTANCE hInst = LoadLibrary(_T("User32.DLL"));
if(hInst)
{
INT ret;
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)
{
ret = fun(this->GetSafeHwnd(), RGB(255, 255, 255), 200, LWA_COLORKEY);
ret = GetLastError();//ret = 87,ERROR_INVALID_PARAMETER,
}
FreeLibrary(hInst);
}
}
总提示参数错误,怎么错误了,还是这种做法就不对啊