我想做一个“透明”的界面程序。我先打开一个其它的图片A,然后运行这个程序(如B),可以“透看”到图片A;这样B程序上添加上长度的刻度时,可以对图片A进行测量、分析。打个比方:我们可以透过“透明的”玻璃窗户,看到外面的景色;这里,外面的景色指图片A,“透明的”玻璃窗户指要开发的“透明”的界面程序。请有过图像开发经验的高手们指点一二,有相关的源代码参考也请介绍。谢谢!
解决方案 »
- MFC工程里怎样显示动画JPG图片?
- 请问一个VC连接ORCAL中出现的奇怪问题
- 急!非模态对话框的创建,第二次显示出错!!!
- dll文件,是不是windows系统所独有的呀,在linux系统中,这种性质的文件是以什么形式体现的呢?
- ===求救求救===我想在ATL中用Mediaplay这个控件?却加进来有一大堆错!
- 求助,用VC++MFC开发基于POP3协议的邮件接收程序的乱码问题
- 如何将16位位图压缩成8位位图,?
- 我想把dll的某个回调函数内的数据(字符串)传给exe,如何实现
- VC中重复按键怎么做呀
- 用控制台创建的程序的返回值,会存在系统的什么位置?
- 关于VC中使用FLASH控件的问题。
- 键盘响应提示框的消息。。。。。。
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags
);
首先,用生成向导建立个基于对话框的程序框架,取名为PartTransparent 第二,重写BOOL CPartTransparentDlg::OnInitDialog(),也就是重写,对话框类的OnInitDialog()这个函数,在里面,return TRUE;前面加入下面的代码: SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary("User32.DLL");
if (hInst)
{
typedef BOOL (WINAPI * MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL; fun = (MYFUNC)GetProcAddress(hInst,"SetLayeredWindowAttributes");
if (fun)
fun(this->GetSafeHwnd(),0,128,2);
FreeLibrary(hInst);
}其中fun(this->GetSafeHwnd(),0,128,2);修改窗口的透明度,值越接近255越不透明。