CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  非技术类

过年了,祝新年快乐!!散分!!!

楼主hanaichun(晕。。。。)2005-01-31 13:08:54 在 VB / 非技术类 提问

up 问题点数:100、回复次数:41Top

1 楼ljhdi( )回复于 2005-01-31 13:10:24 得分 1

1Top

2 楼AndyFunction(开心)回复于 2005-01-31 13:10:26 得分 26

新年快了!Top

3 楼ljhdi( )回复于 2005-01-31 13:10:48 得分 1

嘿嘿,刚好赶上一楼Top

4 楼zxsjs(拐角)回复于 2005-01-31 13:16:03 得分 2

Happy   new   year  
   
   
  接分............  
  Top

5 楼yangao(人品决定一切,相貌决定人品!)回复于 2005-01-31 13:23:38 得分 2

Happy   new   year!Top

6 楼cindytsai(笨笨的蔡鸟)回复于 2005-01-31 13:25:55 得分 2

年年快乐!Top

7 楼viena(维也纳N02)回复于 2005-01-31 13:34:20 得分 2

谢谢,接分~Top

8 楼hdhai9451(☆新人类☆)回复于 2005-01-31 13:35:25 得分 2

Happy   new   year!  
  Top

9 楼tztz520(午夜逛街)回复于 2005-01-31 13:39:29 得分 2

现在都没心思上班了Top

10 楼viena(维也纳N02)回复于 2005-01-31 13:58:09 得分 2

现在都没心思灌水了~Top

11 楼gxgyj(杰克逊)回复于 2005-01-31 13:59:24 得分 2

jfTop

12 楼ldms1980(头等菜)回复于 2005-01-31 14:02:10 得分 2

SetLayeredWindowAttributes     有大侠告诉我这个API的意义吗?谢谢!Top

13 楼cobrastudio(老汉我)回复于 2005-01-31 14:14:15 得分 2

接分。  
   
  首先给出SetLayeredWindowAttributes()的函数原形:  
   
  BOOL   SetLayeredWindowAttributes(  
  HWND   hwnd,   //   handle   to   the   layered   window  
  COLORREF   crKey,   //   specifies   the   color   key  
  BYTE   bAlpha,   //   value   for   the   blend   function  
  DWORD   dwFlags   //   action  
  );    
   
  其中dwFlags有LWA_ALPHA(值为2)和LWA_COLORKEY(值为1)两种设置,如果LWA_ALPHA被设置的话,通过bAlpha参数指定窗体的透明度;如果LWA_COLORKEY标志被设置的话,则指定关键色为crKey,该颜色所覆盖的区域将从窗体去除,去除后的区域将不再进行点击检测,其他颜色则正常显示。如果阿尔法混合值设置为0,其窗口区域同样不进行点击检测。  
   
    前面说过,SetLayeredWindowAttributes()函数是Windows   2000新增的一个API函数,它所在的模块为USER32.DLL。在用GetModuleHandle()装载USER32.DLL模块并调用GetProcAddress()得到函数   SetLayeredWindowAttributes()在User32.dll中的指针后就可以通过SetLayeredWindowAttributes()函数将窗体设置为半透明了:  
  //   全局变量  
  typedef   BOOL   (WINAPI   *lpfn)   (HWND   hWnd,   COLORREF   cr,   BYTE   bAlpha,   DWORD   dwFlags);  
  lpfn   g_pSetLayeredWindowAttributes;  
  ……  
  //   获取函数   SetLayeredWindowAttributes   在User32.dll中的指针  
  HMODULE   hUser32   =   GetModuleHandle(_T("USER32.DLL"));  
  g_pSetLayeredWindowAttributes   =   (lpfn)GetProcAddress(hUser32,   "SetLayeredWindowAttributes");  
  if   (g_pSetLayeredWindowAttributes   ==   NULL)  
  ::PostQuitMessage(0);  
   
   
  这段代码通常在程序初始化时运行以及时将USER32.DLL模块装载到诖娌⒒袢〉玫絊etLayeredWindowAttributes()函数指针。在程序退出前需要通过FreeLibrary()函数释放先前加载的模块:  
   
  //   卸载模块  
  if   (m_hUser32   !=   NULL)  
  FreeLibrary(m_hUser32);    
   
    在将窗体设置为半透明时,首先要获取得到该窗体的窗口句柄,以指明要操作的是哪一个窗口。如果是对本应用程序中的某个窗口进行设置,可以通过传递窗口句柄或是用GetSafeHwnd()来动态获取。如果要对本程序外的某个程序窗口进行设置,一般的做法是通过对FindWindow()函数的调用来获取指定窗口标题的窗口句柄。在得到窗口句柄之后并不能直接调用SetLayeredWindowAttributes()进行设置,需要在GetWindowLong()获取得到当前窗口风格设置后在其基础之上添加WS_EX_LAYERED扩展风格,并通过SetWindowLong()函数将其设置:  
   
  //   半透明  
  HWND   hWnd   =   GetSafeHwnd();  
  LONG   lWindowLong   =   GetWindowLong(hWnd,   GWL_EXSTYLE)   |   WS_EX_LAYERED;  
  ::SetWindowLong(hWnd,   GWL_EXSTYLE,   lWindowLong);  
  g_pSetLayeredWindowAttributes(hWnd,   0,   (BYTE)m_sldAlpha.GetPos(),   2);  
  ::RedrawWindow(hWnd,   NULL,   NULL,   RDW_ERASE   |   RDW_INVALIDATE   |   RDW_FRAME   |   RDW_ALLCHILDREN);    
   
    为了能够使用该函数,还必须在上述语句之前添加预定义语句:  
   
  #define   WS_EX_LAYERED   0x00080000    
   
    异形窗体特效的实现  
   
    使用SetLayeredWindowAttributes()创建异形窗体是非常简单的,具体过程与半透明窗体的实现极为类似,所不同的只是将标志设置为LWA_COLORKEY并指定需要透明显示的关键色:  
   
  //   指定关键色  
  HWND   hWnd   =   GetSafeHwnd();  
  LONG   lWindowLong   =   GetWindowLong(hWnd,   GWL_EXSTYLE)   |   WS_EX_LAYERED;  
  ::SetWindowLong(hWnd,   GWL_EXSTYLE,   lWindowLong);  
  g_pSetLayeredWindowAttributes(hWnd,   RGB(255,   255,   255),   0,   1);  
  ::RedrawWindow(hWnd,   NULL,   NULL,   RDW_ERASE   |   RDW_INVALIDATE   |   RDW_FRAME   |   RDW_ALLCHILDREN);    
   
   
   
  Top

14 楼xiaoxiaoP(每天都是重新开始)回复于 2005-01-31 14:21:35 得分 2

 
      接分,祝所有好人新年新气象  
   
  Top

15 楼ljhdi( )回复于 2005-01-31 14:22:46 得分 0

哎!想回家了!哪来的那么多心思呀Top

16 楼truewill(无处不在)回复于 2005-01-31 15:02:37 得分 2

upTop

17 楼CatchWind(追風少年)回复于 2005-01-31 15:14:07 得分 2

接分.   祝大家新春快樂.Top

18 楼myhgyp(也许是这样的,信不信由你)回复于 2005-01-31 15:54:50 得分 2

Happy   new   year!  
   
  接分有理Top

19 楼RUKYO(蠢蠢的男子汉 - 恋星夜柔光,舔烈酒豪情)回复于 2005-01-31 19:00:48 得分 2

祝大家新年快乐!  
  Top

20 楼aohan(aohan)回复于 2005-01-31 19:04:30 得分 2

 
   
  接分先Top

21 楼mndsoft(枕善居(http://www.mndsoft.com/)回复于 2005-01-31 19:05:18 得分 2

人气很旺啊.楼主好人.同祝楼主新年发财.!  
   
  http://www.mndsoft.com/blog/default.aspTop

22 楼BRITZ(AZAZ FIGHTING!)回复于 2005-01-31 19:30:51 得分 2

新年快乐!!!Top

23 楼hanaichun(晕。。。。)回复于 2005-02-02 12:22:23 得分 0

谢谢各位!祝大家新年快乐!!!!Top

24 楼Leftie(左手,为人民币服务)回复于 2005-02-02 12:32:41 得分 2

大家同乐!!Top

25 楼hdhai9451(☆新人类☆)回复于 2005-02-02 12:45:23 得分 2

jfTop

26 楼qrlvls( 空 气 )回复于 2005-02-02 12:55:37 得分 2

New   year!  
  May   you   be   happyTop

27 楼laisiwei(.:RNPA:.刺猬)回复于 2005-02-02 13:56:47 得分 2

upTop

28 楼Hideal((努力學習VB.NET))回复于 2005-02-02 14:04:48 得分 2

純接分Top

29 楼Kshape(C/C++初学者~~~~)回复于 2005-02-03 02:34:58 得分 2

大家都快乐  
   
  过年好Top

30 楼sxycgxj(云中客)回复于 2005-02-03 09:32:23 得分 2

大家都快乐  
   
  过年好Top

31 楼wzzwwz(皮皮鲁)回复于 2005-02-03 09:38:34 得分 2

过年好  
  Top

32 楼domhuang(不名)回复于 2005-02-03 09:39:51 得分 2

upTop

33 楼yangao(人品决定一切,相貌决定人品!)回复于 2005-02-03 09:43:15 得分 2

upTop

34 楼mndsoft(枕善居(http://www.mndsoft.com/)回复于 2005-02-03 09:57:43 得分 2

今天散分的真多。  
  过年了,新年好阿!  
  http://www.mndsoft.com/blog/default.aspTop

35 楼sytzql(看窗)回复于 2005-02-03 10:16:57 得分 2

大家新年快乐哈!顶一个Top

36 楼pikachu8guan(30度仰角 (www.vbgood.com 新手学堂 Manager))回复于 2005-02-03 10:31:05 得分 2

汗   第三个新年散分的帖子Top

37 楼GHOSTSEA(GHOST SEA)回复于 2005-02-03 10:38:45 得分 2

使劲顶使劲顶!!!!!Top

38 楼tntzbzc(华裔大魔王—抗日要从娃娃抓起)回复于 2005-02-03 10:40:38 得分 2

接分是种好习惯Top

39 楼wanglei_qiu(王磊)回复于 2005-02-03 10:53:24 得分 2

接分Top

40 楼pcm112(独孤成明)回复于 2005-02-03 11:47:06 得分 2

我要分,呵呵!Top

41 楼axiang80(四月风)回复于 2005-02-03 12:16:10 得分 2

upTop

相关问题

  • 快过年了~~~~祝各位新年快乐………………放分(开始篇)!!!!
  • 快过年了,发点分给大家,预祝新年快乐!
  • 快过年了,发点分给大家,预祝新年快乐!
  • 快过年了,发点分给大家,预祝新年快乐!
  • 散分:快过年了,祝大家新春快乐!
  • 过年,散分,祝贺大家新年快乐!
  • 过年回来上班了,散分,祝大家新年快乐!
  • 过年了,祝大家春节快乐!
  • 要过年了,偶也来放点分,祝大家新年快乐!~~~
  • 过年了,散分200,祝大家春节快乐,顺便问个问题

关键词

  • 函数
  • 模块
  • 指针
  • ws
  • 区域
  • setlayeredwindowattributes
  • 窗体
  • 句柄
  • lwa
  • huser

得分解答快速导航

  • 帖主:hanaichun
  • ljhdi
  • AndyFunction
  • ljhdi
  • zxsjs
  • yangao
  • cindytsai
  • viena
  • hdhai9451
  • tztz520
  • viena
  • gxgyj
  • ldms1980
  • cobrastudio
  • xiaoxiaoP
  • truewill
  • CatchWind
  • myhgyp
  • RUKYO
  • aohan
  • mndsoft
  • BRITZ
  • Leftie
  • hdhai9451
  • qrlvls
  • laisiwei
  • Hideal
  • Kshape
  • sxycgxj
  • wzzwwz
  • domhuang
  • yangao
  • mndsoft
  • sytzql
  • pikachu8guan
  • GHOSTSEA
  • tntzbzc
  • wanglei_qiu
  • pcm112
  • axiang80

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo