用vb怎样作出windows优化大师的界面效果 

解决方案 »

  1.   

    去看看我做的VB界面。http://www.wjez.net/wchsoft/ipage1.htm
    欢迎大家提出宝贵的意见!
    原理很简单,同意第一个回答你问题的兄弟。
      

  2.   

    有三个主要的要素:导航栏、标题栏、命令按钮,另外优化大师还有对鼠标敏感的文本框和单选、复选框以及自绘滚动条的列表框等控件,完全模拟需要下一番功夫。可以用Image作导航栏,关键在于模拟鼠标移出事件。可以用API函数获得鼠标位置:
    Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINT_API) As Long
    Public Type POINT_API
        x As Long
        y As Long
    End Type
    然后用一个时钟控件去
    GetCursorPos PT
    比较PT.X,PT.Y与Image.TOP/Left(要加上容器、以及窗体所累积的部分,而且需要数量关系转换,因为单位不同,好像是15倍的关系,请自己测试)的位置关系获得鼠标移出标题栏:
    关键在于移动窗体:
    Private Declare Function ReleaseCapture Lib "user32" () As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const HTCAPTION = 2
    Private Const WM_NCLBUTTONDOWN = &HA1然后
    我们用透明的LabelT去拖动:
    Private Sub labelT_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 1 Then
    ReleaseCapture
    SendMessage hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
    End If
    End Sub
    至于其他细节问题包括:
    判断窗体是否活动
    隐藏标题栏后怎样在任务栏上显示图标
    如何弹出标题栏的控制菜单
    都需要API函数处理关于命令按钮控件
    如果你不嫌弃可以使用我的随想命令按钮控件3.0模拟。事实上它也可以做出优化大师的导航栏。另外有一个源代码供你参考:http://www.capricciososoft.com/Documents/default.ASP?id=1-6其他的鼠标敏感的选择组件和自绘列表框滚动条的方法我也不会,关注...