模仿酷狗7(Kugou7)界面源码

转载:http://blog.csdn.net/cometnet/article/details/6561912


源码名称:模仿酷狗7(Kugou7)界面源码

源码作者:邓学彬(泪闯天涯)

源码说明:内含VC++源码、易语言源码各一份.包含所有图片源码(使用Fireworks编辑)

开发环境:VC版--VS2005、Gdiplus;易语言版--易语言5,无模块

实现方法:给窗口加上WS_EX_LAYERED样式,使用Gdiplus画出图片,然后UpdateLayeredWindow。处理WM_MOUSEHOVER、WM_MOUSELEAVE消息,鼠标进入或移出画出不同状态。

注意事项:只是实现初步模仿而已,未响应子控件操作,如果大家有兴趣就接着完善吧。

界面交流:“软件UI技术研究”QQ群2423632 非教学群,欢迎在UI方面有一定心得的朋友加入.
功能界面相辅相成,重视软件界面设计,努力提高用户体验,致力提升软件价值

 

模仿酷狗7(Kugou7)界面源码_第1张图片

 

主要源码:

  1. void CKugouUIDlg::DrawUI(void)  
  2. {  
  3.     HDC hDC=::GetDC(m_hWnd);  
  4.     HDC hMemDC=::CreateCompatibleDC(hDC);  
  5.     BITMAPINFO bitmapinfo;  
  6.     bitmapinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);  
  7.     bitmapinfo.bmiHeader.biBitCount = 32;  
  8.     bitmapinfo.bmiHeader.biHeight = m_KugouUI.height;  
  9.     bitmapinfo.bmiHeader.biWidth = m_KugouUI.width;  
  10.     bitmapinfo.bmiHeader.biPlanes = 1;  
  11.     bitmapinfo.bmiHeader.biCompression=BI_RGB;  
  12.     bitmapinfo.bmiHeader.biXPelsPerMeter=0;  
  13.     bitmapinfo.bmiHeader.biYPelsPerMeter=0;  
  14.     bitmapinfo.bmiHeader.biClrUsed=0;  
  15.     bitmapinfo.bmiHeader.biClrImportant=0;  
  16.     bitmapinfo.bmiHeader.biSizeImage = bitmapinfo.bmiHeader.biWidth * bitmapinfo.bmiHeader.biHeight * bitmapinfo.bmiHeader.biBitCount / 8;  
  17.     HBITMAP hBitmap=::CreateDIBSection (hMemDC,&bitmapinfo, 0,NULL, 0, 0);  
  18.     HBITMAP hOldBitmap = (HBITMAP)::SelectObject (hMemDC,hBitmap);  
  19.     Graphics g(hMemDC);  
  20.     //画出各个界面元素----------------------  
  21.     DrawItem(&g,m_KugouUI.left);  
  22.     DrawItem(&g,m_KugouUI.top);  
  23.     DrawItem(&g,m_KugouUI.right);  
  24.     DrawItem(&g,m_KugouUI.bottom);  
  25.     DrawItem(&g,m_KugouUI.main);  
  26.     for(int i=0;i<4;i++)  
  27.         DrawItem(&g,m_KugouUI.Item[i]);   
  28.     //设置透明窗口-------------------------------------------------  
  29.     CPoint DestPt(0,0);  
  30.     CSize psize(m_KugouUI.width,m_KugouUI.height);  
  31.     BLENDFUNCTION blendFunc32bpp;  
  32.     blendFunc32bpp.AlphaFormat = AC_SRC_ALPHA;  
  33.     blendFunc32bpp.BlendFlags = 0;  
  34.     blendFunc32bpp.BlendOp = AC_SRC_OVER;  
  35.     blendFunc32bpp.SourceConstantAlpha = 255;  
  36.     ::UpdateLayeredWindow(m_hWnd,hDC,NULL,&psize,hMemDC,&DestPt,0,&blendFunc32bpp,ULW_ALPHA);  
  37.     //释放资源-------------------------------------------------  
  38.     ::SelectObject (hMemDC,hOldBitmap);  
  39.     ::DeleteObject(hBitmap);  
  40.     ::DeleteDC(hMemDC);  
  41.     ::ReleaseDC(m_hWnd,hDC);  
  42. }  
 

 

源码下载:

CSDN下载:http://download.csdn.net/source/3386452 (需要1积分)

易语言论坛下载:http://bbs.eyuyan.com/read.php?tid=269124 (没帐号需要注册)

源码爱好者下载:http://www.codefans.net/soft/13933.shtml (可直接下载)


你可能感兴趣的:(UI,qq,null,BI,语言)