必须重新添加commondialog控件,程序才没有错误!怎么一直保存呢?

解决方案 »

  1.   

    可能是注册文件的问题FORM1.log,没有保存好!怎么即决呢?
      

  2.   

    FORM1.log?有这个文件?你完了
      

  3.   

    FORM1.log 是一个日志文件,向你说明加载 FORM1 时发现的错误。用记事本打开看看就知道是什么问题了。
      

  4.   

    FORM1.log 内容显示如下:
    行 31: 控件 CommonDialog1 的类 MSComDlg.CommonDialog 不是一个已加载的控件类。怎么解决呀?重新安装VB吗!
      

  5.   

    用Regsvr32重新注册COMDLG32.OCX(一般在System32内),假如不行从别的机器拷贝一个过来!
      

  6.   

    用Regsvr32重新注册COMDLG32.OCX(一般在System32内),假如不行从别的机器拷贝一个过来再注册!
      

  7.   

    我喜欢用API函数,看你喜欢不喜欢 
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    Private Const OFN_HIDEREADONLY = &H4
    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 Type
    Public Function CommonOpenFile(ByVal hWndParent As Long, ByVal Filter As String, ByVal InitDir As String, ByVal Title As String) As String
      Dim OFName As OPENFILENAME
      Dim Tam As Long
        
      OFName.lStructSize = Len(OFName)
      OFName.hwndOwner = hWndParent
      OFName.hInstance = App.hInstance
      OFName.lpstrFilter = Filter
      OFName.lpstrFile = Space$(254)
      OFName.nMaxFile = 255
      OFName.lpstrFileTitle = Space$(254)
      OFName.nMaxFileTitle = 255
      'OFName.lpstrInitialDir = InitDir
      OFName.lpstrTitle = Title
      OFName.flags = OFN_HIDEREADONLY
      If GetOpenFileName(OFName) Then
        OFName.lpstrFile = Trim(OFName.lpstrFile)
        Tam = Len(OFName.lpstrFile)
        CommonOpenFile = Mid(OFName.lpstrFile, 1, Tam - 1) 'cut char 0
      Else
        CommonOpenFile = ""
      End If
    End Function调用形式
    Private Sub open_Click()
    On Error Resume Next
    Dim FileName As String
    FileName = CommonOpenFile(Me.hWnd, "", App.Path, "Open")
    If FileName <> "" Then
        Picture1(0).Picture = LoadPicture(FileName)
      
    End IfEnd Sub
    如果是保存的话把上面的getopenfilename函数改为GetSaveFileName
    Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long