我把Form1的BorderStyle属性设置为None,自己做了一个标题栏,可是运行时该应用程序在Windows任务栏中总没有显示,我怎样才能不用它的标题栏而且运行起来后还能在任务栏中看到我的程序呢?

解决方案 »

  1.   

    在屬性欄里有一個叫 ShowInTaskBar 的屬性,該屬性為 True 時能在任務欄中看到該窗體的標題
      

  2.   

    Private Sub Form_Load()
    Form1.Caption = ""
        Form1.BorderStyle = 0
    Form1.Caption = "Your Caption"
    End Sub
      

  3.   

    gemgama:你说的非常好,我试了也行,只是在任务栏上只能显示文字,不能显示图标,我在你说的代码中加上了"Form1.Icon=LoadPicture("bd.ico")"这句话依然不行,怎么才能让它连图标也显示出来呢?就象其它正常运行的应用程序一样?
      

  4.   

    那你用API做个特殊窗体吧!具体的方法自己找一下就行了
      

  5.   

    Suron128说的是在vb.net下就可以轻松完成你的功能
      

  6.   

    别将BorderStyle属性设置为None
    用SubClass技术拦截消息
    处理WM_NCPAINT,这时绘制自己的标题栏
    可参考:
    http://vbaccelerator.com/home/VB/Code/Controls/Skins/article.asp
      

  7.   

    'BorderStyle属性设置为None
    'ShowInTaskBar 的的属性 True ,但任务栏的按钮没有图标,再加上以下代码就行了:
    '使无标题栏的窗体,在任务栏显示图标-----------------------------
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
        (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
        (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Const GWL_STYLE = (-16)
    Private Const WS_SYSMENU = &H80000
    '一个Function ShowIcon(m_hwnd As Long)过程
    '调用方法: ShowIcon Me.hwnd
    '--------------------------------------------------------------
    Function ShowIcon(m_hwnd As Long)
        '使任务栏显示图标
        Dim lStyle As Long
        lStyle = GetWindowLong(m_hwnd, GWL_STYLE) Or WS_SYSMENU
        SetWindowLong m_hwnd, GWL_STYLE, lStyle
    End Function
    Private Sub Form_Load()
        ShowIcon Me.hWnd
    End Sub
      

  8.   

    多谢以上各位的热心回答,按照csdngoodnight的方法我已经实现了该功能,非常感谢大家。该问题已经结贴,只是我不知道该怎么给分,谁能告诉我?