上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
用API生成平面工具条
作者:未知 申领版权
2010年11月14日 共有 1050 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    用API生成平面工具条
    相信许多VB爱好者都曾千方百计地想使自己的工具条像Word97中的工具条一样COOL起来。往往我们不得不去借用别人做好的ActiveBar控件,这样先不说自己的程序变得大了,而且说实话那个控件并不好用。笔者在用VC5编程的时候用基类函数SendMessageLong()、FindWindowEx()轻松实现了这种COOL的效果。受此启发在VB5中调用这两个API也实现了同样的效果。下面是源代码:
    把以下程序加到您的模块中:
    ´----------------------
    ´常量声明
    ´----------------------
    Public Const WM_USER = &H400
    ´用户自定义消息的起点
    Public Const TB_SETSTYLE = WM_USER 56
    ´设置工具条风格消息
    Public Const TB_GETSTYLE = WM_USER 57
    ´取得工具条风格消息
    Public Const TBSTYLE_FLAT = &H800
    ´使工具条COOL起来
    Public Const TBSTYLE_TOOLTTPS = &H100
    Public Const TBSTYLE_WRAPABLE = &H200
    Public Const TBSTYLE_ALTDRAG = &H400
    Public Const TBSTYLE_LIST = &H1000
    Public Const TBSTYLE_CUSTOMERASE = &H2000
    ´-----------------
    ´API函数声明
    ´-----------------
    Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long,
    ByVal wMsg As Long,ByVal wParam As Long,ByVal 1Param As Long) As Long
    Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long,
    ByVal hWnd2 As Long,ByVal 1psz1 As String,ByVal 1psz2 As String) As Long
    ´-----------------------
    ´通用生成平面工具条过程
    ´入口:工具条的名字
    ´-----------------------
    Public Sub FlatBar(ByVal tb As Toolbar)
    Dim style As Long
    Dim hToolbar As Long
    Dim r As Long
    ´获的工具条窗口句柄
    hToolbar = FindWindowEx(tb.hwnd,0&,"ToolBarWindow32",vbNullString)
    ´获的当前工具条的风格
    style = SendMessageLong(hToolbar,TB_GETSTYLE,0&, 0&)
    If style And TBSTYLE_FLAT Then
    style = style Xor TBSTYLE_FLAT
    Else
    style = style or TBSTYLE_FLAT
    End If
    ´设置工具条的平面风格
    r=SendMessageLong(hToolbar,TB_SETSTYLE,0, style)
    tb.Refresh
    End Sub
    过程FlatBar()的调用方法:
    1 . 在你的窗体上添加Toolbar控件(命名为:myTB)和ImageList控件。按通常的方法一样在ImageList中播入几个图标并和Toolbar绑定建立一个平常的工具条。
    2 . 在窗体的Load()事件中调用FlatBar()
    Call FlatBar(myTB)
    3. 运行,您的工具条一定COOL起来了。

    

 

相关新闻

您可能对这些感兴趣  

用VB做定时断线程序
VisualBasic中的界面设计原则和编程技巧
VB6.0与Windows API 间的呼叫技巧
制作可以自动隐藏的弹出式菜单
ListBox中的字符串超长显示的解决方法
VB中的Unicode 和 Ansi 格式
优化程序显示速度
Visual Basic 产生渐层的 Form 背景
用VB实现客户——服务器(TCP/IP)
用VB制作注册软件的方法

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》