CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

怎样将图标加到状态栏上?

楼主pengshanbing(兵儿)2001-04-14 21:16:00 在 VB / 基础类 提问

怎样将图标加到状态栏上?象输入法的图标那样 问题点数:20、回复次数:4Top

1 楼bestofbest(咖啡)回复于 2001-04-14 23:11:00 得分 10

使用API可以,网上有许多关于API的中文资料。你可以查查看,很简单的。  
  还有个方法是在系统中找实现这个功能的控件,具体的我不记得了。  
  程序员就应该有研究的精神,可以自己找出来就不用再问别人了,祝你成功!  
  我的妹儿是iscoffee@163.netTop

2 楼Jackyin(GunZ)回复于 2001-04-14 23:50:00 得分 10

‘模块  
  Public   Declare   Function   Shell_NotifyIcon   Lib   "shell32.dll"   Alias   "Shell_NotifyIconA"   (ByVal   dwMessage   As   Long,   lpData   As   NOTIFYICONDATA)   As   Long  
  Public   Const   NIF_ICON   =   &H2  
  Public   Const   NIF_MESSAGE   =   &H1  
  Public   Const   NIF_TIP   =   &H4  
  Public   Const   NIM_DELETE   =   &H2  
  Public   Const   NIM_ADD   =   &H0  
  Public   Type   NOTIFYICONDATA  
                  cbSize   As   Long  
                  hwnd   As   Long  
                  uID   As   Long  
                  uFlags   As   Long  
                  uCallbackMessage   As   Long  
                  hIcon   As   Long  
                  szTip   As   String   *   64  
  End   Type  
  Public   oldWndAdress   As   Long  
  Public   Function   trayProc(ByVal   hwnd   As   Long,   ByVal   intMsg   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
          If   intMsg   =   WM_USER   +   100   Then  
                  Select   Case   lParam  
                          Case   WM_LBUTTONDOWN  
                                  Unload   Form1  
                          Case   WM_RBUTTONDOWN  
                                   
                  End   Select  
          Else  
                  trayProc   =   CallWindowProc(oldWndAdress,   hwnd,   intMsg,   wParam,   lParam)  
          End   If  
   
   
  '窗体  
  Private   m_Nfd   As   NOTIFYICONDATA  
  With   m_Nfd  
          .hIcon   =   Form1.Icon  
          .cbSize   =   Len(m_Nfd)  
          .uCallbackMessage   =   WM_USER   +   100  
          .uID   =   0  
          .szTip   =   "简易分辨率调整   (By   Jackyin)"   +   Chr(0)  
          .uFlags   =   NIF_ICON   Or   NIF_MESSAGE   Or   NIF_TIP  
          .hwnd   =   Me.hwnd  
  End   WithTop

3 楼Jackyin(GunZ)回复于 2001-04-14 23:51:00 得分 0

‘模块  
  Public   Declare   Function   Shell_NotifyIcon   Lib   "shell32.dll"   Alias   "Shell_NotifyIconA"   (ByVal   dwMessage   As   Long,   lpData   As   NOTIFYICONDATA)   As   Long  
  Public   Declare   Function   SetWindowLong   Lib   "user32"   Alias   "SetWindowLongA"   (ByVal   hwnd   As   Long,   ByVal   nIndex   As   Long,   ByVal   dwNewLong   As   Long)   As   Long  
  Public   Declare   Function   CallWindowProc   Lib   "user32"   Alias   "CallWindowProcA"   (ByVal   lpPrevWndFunc   As   Long,   ByVal   hwnd   As   Long,   ByVal   Msg   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
  Public   Const   WM_MOUSEMOVE   =   &H200  
  Public   Const   NIM_ADD   =   &H0  
  Public   Const   WM_RBUTTONDOWN   =   &H204  
  Public   Const   GWL_WNDPROC   =   (-4)  
  Public   Const   WM_USER   =   &H400  
  Public   Const   WM_LBUTTONDOWN   =   &H201  
   
  Public   Const   NIF_ICON   =   &H2  
  Public   Const   NIF_MESSAGE   =   &H1  
  Public   Const   NIF_TIP   =   &H4  
  Public   Const   NIM_DELETE   =   &H2  
  Public   Type   NOTIFYICONDATA  
                  cbSize   As   Long  
                  hwnd   As   Long  
                  uID   As   Long  
                  uFlags   As   Long  
                  uCallbackMessage   As   Long  
                  hIcon   As   Long  
                  szTip   As   String   *   64  
  End   Type  
  Public   oldWndAdress   As   Long  
  Public   Function   trayProc(ByVal   hwnd   As   Long,   ByVal   intMsg   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
          If   intMsg   =   WM_USER   +   100   Then  
                  Select   Case   lParam  
                          Case   WM_LBUTTONDOWN  
                                  Unload   Form1  
                          Case   WM_RBUTTONDOWN  
                                   
                  End   Select  
          Else  
                  trayProc   =   CallWindowProc(oldWndAdress,   hwnd,   intMsg,   wParam,   lParam)  
          End   If  
   
   
  '窗体  
  Private   m_Nfd   As   NOTIFYICONDATA  
  With   m_Nfd  
          .hIcon   =   Form1.Icon  
          .cbSize   =   Len(m_Nfd)  
          .uCallbackMessage   =   WM_USER   +   100  
          .uID   =   0  
          .szTip   =   "简易分辨率调整   (By   Jackyin)"   +   Chr(0)  
          .uFlags   =   NIF_ICON   Or   NIF_MESSAGE   Or   NIF_TIP  
          .hwnd   =   Me.hwnd  
  End   WithTop

4 楼pengshanbing(兵儿)回复于 2001-04-15 17:14:00 得分 0

okTop

相关问题

  • 怎样在状态栏中添加快捷图标
  • 问大家一个状态栏的问题:怎样在状态栏上加图标?
  • 状态栏中加载图标
  • 请问怎样在状态栏显示图标?
  • CFormView 的状态栏图标
  • 怎样一开始时隐藏程序,并把图标显示系状态栏里,再按状态栏的图标后就显示出来
  • 如何能得到IE状态栏的长度,怎样才能在状态栏的不同子栏里显示文字和图标呢.
  • 怎样在对话框中添加状态栏??
  • 怎样在状态栏加入数字时钟?
  • DIALOG中怎样加菜单、状态栏、工具栏?

关键词

  • shell
  • 图标
  • intmsg
  • nfd
  • nif
  • as long
  • byval
  • lparam
  • hwnd
  • wm

得分解答快速导航

  • 帖主:pengshanbing
  • bestofbest
  • Jackyin

相关链接

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

广告也精彩

反馈

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