300高分求救:如何用OpenGL做类似桌面3D宠物的动画思路,主要是如何做到无背景!急!急!急! 300高分求救:如何用OpenGL做类似桌面3D宠物的动画思路,主要是如何做到无背景!急!急!急! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 别用OpenGL,好像都是自己画的 给以下基本的思路,可以自己创建一个基于对话框的应用程序。然后将其背景设为透明,再在此基础上绘图。注意要将对话框边框的属性设为NULL。其实你说的与金山杀毒里的小狮子差不多。另:设置窗口透明要使用函数SetLayeredWindowAttributes,它是User32.dll中的函数,在MSDN中止找不到定义的。基本的使用可以参考下面的格式:在OnInitDialog函数中使用:SetLayeredWindowAttributes=(_SetLayeredWindowAttributes)GetProcAddress( hInst,"SetLayeredWindowAttributes"); if(!SetLayeredWindowAttributes) { MessageBox("Load Function Error!"); return FALSE; } ::SetWindowLong(m_hWnd,GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE)^WS_EX_LAYERED); SetLayeredWindowAttributes(m_hWnd,0,0,LWA_ALPHA); RedrawWindow(); 测试过了,这个函数会把OpenGL部分也透明掉 我可以提供测试源代码给大家看看http://220.231.137.21/test.rar SetWindowRgn也测试过了,也会把OpenGL部分给隐藏了,可以参看上面的测试代码 思路么,有一点:OpenGL绘制的结果转存成位图,然后再用常规GDI方式画到桌面上。 求教:根据XML数据生成界面 vc08 建立atl项目,为什么会产生两个项目? 那个什么空的XXPS干嘛用的? 怎么理解这个指针问题? 江湖救急!---------------------------------------怎么调试这种错误! 又是个老问题!怎么样在没有装VC的机上,运行用DAO写的程序?? 如何触发属主事件?急 各位大哥们,我的vc insert选项下的 New ATL object.. 用不了,求解决方法 有人用过CControlBar吗? 提问:如何给我的程序换皮?? 在对话框中怎样向列表控件增加和删除新表项? 给80分,急,在线等 救助!怎么画头像?
另:设置窗口透明要使用函数SetLayeredWindowAttributes,它是User32.dll中的函数,在MSDN中止找不到定义的。基本的使用可以参考下面的格式:
在OnInitDialog函数中使用:
SetLayeredWindowAttributes=(_SetLayeredWindowAttributes)GetProcAddress(
hInst,"SetLayeredWindowAttributes");
if(!SetLayeredWindowAttributes)
{
MessageBox("Load Function Error!");
return FALSE;
}
::SetWindowLong(m_hWnd,GWL_EXSTYLE, GetWindowLong(m_hWnd,
GWL_EXSTYLE)^WS_EX_LAYERED);
SetLayeredWindowAttributes(m_hWnd,0,0,LWA_ALPHA);
RedrawWindow();
http://220.231.137.21/test.rar
也测试过了,也会把OpenGL部分给隐藏了,可以参看上面的测试代码
OpenGL绘制的结果转存成位图,然后再用常规GDI方式画到桌面上。