GetOpenFileName
打开文件时,能否显示摸态窗口,不然他点一次就弹出个窗口,很不友好!
在此感谢

解决方案 »

  1.   

    这是OpenFileName结构: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第二个成员hwndOwner的值,指定为你的窗口句柄,就行了MSDN里说得很清楚:hwndOwner 
    Identifies the window that owns the dialog box. This member can be any valid window handle, or it can be NULL if the dialog box has no owner.
      

  2.   

    楼上朋友:能否在详细点,我怎么获取它open 出来的窗口句丙!
      

  3.   

    很简单了:你已经定义了一个OpenFileName类型的变量是吧?肯定是有的然后:变量.hwndOwner=[你的主窗口句柄]就行了这样做以后再把结构传给API.
      

  4.   

    具体例子,可以看看这个类,它封装了通用对话框的功能,可以省个控件了:)http://www.m5home.com/bbs/dispbbs.asp?boardID=10&ID=1100&page=1
      

  5.   

    都已定义好了,也能GetOpenFileName,打开去选择文件,问题就是每打开一次,有弹出个选文件窗口!
        With m_ofnFileName
            .slflags = m_slFlags        '如果允许多选,就需要设置 FILENAME_EXPLORER ,否则会崩溃        If (.slflags And FILENAME_ALLOWMULTISELECT) = FILENAME_ALLOWMULTISELECT Then
                .slflags = .slflags Or FILENAME_EXPLORER
                slFileSize = 8192
            Else
                slFileSize = 1024
            End If        .szFile = m_szFileName & String$(slFileSize - Len(m_szFileName), 0)
            .slMaxFile = slFileSize
            .szFileTitle = m_szFileTitle & String$(slFileSize - Len(FileTitle), 0)
            .slMaxTitle = slFileSize        slReturn = GetOpenFileName(m_ofnFileName)        If slReturn Then
             .....
            end if
    end with
      

  6.   

    恕我眼花......代码我非常仔细地看了三遍,好象没有发现你在哪里对.hwndOwner属性赋了值??而且我感觉你根本就没有注意看我的回复!最后这一帖了!自己搞定吧......