我想用CommonDialog1控件. 发布的软件可能会在没有装VB的机器上xp运行. CommonDialog1是外加的控件. 可行吗?

解决方案 »

  1.   

    打包时带上这个控件的OCX即可
      

  2.   

    我不想打包. 我想直接生成.exe文件使用. VB程序打包后太大了.
      

  3.   

    找到 老马 他有一个类 就是引用代码就可以达到和那个控件一样的效果!能达到你要的效果!
    马大哈QQ:80524554
    群:16874787 可以找到他
    找到他的其他方法
    论坛:
    http://www.m5home.com/bbs/   (他的)
    http://www.c77hk.com/bbs/  (七七红客的)
    http://www.thousandvb.com/html/forum/index.asp
    (千千VB的)
    都可以找到他!!
      

  4.   

    如果是那样的,你要就注册此OCX。写个BAT嘛
      

  5.   

    楼上的cixiao能否讲详细点? 是否将我system32下的那个.ocx 一起copy给用户. 
    这个bat怎么写? 不大懂啊.
      

  6.   

    BAT这么写:regsvr32 c*.ocx(你哪个控件的文件名)
      

  7.   

    你可以一起拷贝给客户,注册一下就好了
    regsvr32 c*.ocx
      

  8.   

    commondialog应该XP自带吧,我觉得应该不用拷贝这个DLL也行
      

  9.   

    请参看以下调用api的例子
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    Private Type OPENFILENAME
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        lpstrFilter As String
        lpstrCustomFilter As String
        nMaxCustFilter As Long
        nFilterIndex As Long
        lpstrFile As String
        nMaxFile As Long
        lpstrFileTitle As String
        nMaxFileTitle As Long
        lpstrInitialDir As String
        lpstrTitle As String
        flags As Long
        nFileOffset As Integer
        nFileExtension As Integer
        lpstrDefExt As String
        lCustData As Long
        lpfnHook As Long
        lpTemplateName As String
    End TypePrivate Sub Form_Load()
        Dim OFName As OPENFILENAME    OFName.lStructSize = Len(OFName)
        OFName.hwndOwner = Me.hWnd
        OFName.hInstance = App.hInstance
        OFName.lpstrFilter = "Text Files (*.txt)" + Chr$(0) + "*.txt" + Chr$(0) + "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0)
        OFName.lpstrFile = Space(254)
        OFName.nMaxFile = 255
        OFName.lpstrFileTitle = Space(254)
        OFName.nMaxFileTitle = 255
        OFName.lpstrInitialDir = "C:\"
        OFName.lpstrTitle = "Open File"
        OFName.flags = 0    If GetOpenFileName(OFName) Then
            MsgBox "File to Open: " + Trim(OFName.lpstrFile)
        Else
            MsgBox "Cancel was pressed"
        End If
    End Sub