本帖最后由 bslwjf 于 2009-06-05 00:52:28 编辑

解决方案 »

  1.   

    见了LZ几篇贴子,代码没有错,是LZ思路有错.
      

  2.   

    我是说与其自己写一个任务栏,倒不如子类化现有的任务栏。实现一个单独的任务栏有什么用啊,难道想设计成red hat的桌面样式?
      

  3.   

    SPI_GETWORKAREA
    SPI_SETWORKAREA
    SPIF_SENDCHANGE
    这3个API常量,统统需要声明。
      

  4.   

    太感谢5楼了,给我发来了工程原件。所有问题迎刃而解了!特此贴出来和大家分享。我整理过的代码如下:Option ExplicitPrivate Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
    End TypePrivate Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As LongPrivate Const SPI_GETWORKAREA = 48
    Private Const SPI_SETWORKAREA = 47
    Private Const SPIF_SENDCHANGE = 2
    Private m_flag As Boolean
    Private m_deltaH As Long
    Private Sub Form_Load()
    Dim tRect As RECT
    Call SystemParametersInfo(SPI_GETWORKAREA, 0, tRect, 0)
    With tRect
    .Bottom = .Bottom - 55 'cy是你新加的任务栏高度
    End With
    Call SystemParametersInfo(SPI_SETWORKAREA, 0, tRect, SPIF_SENDCHANGE)
    End Sub