Aufruf GetOpenName Funktion

Dieses Thema Aufruf GetOpenName Funktion im Forum "Windows XP Forum" wurde erstellt von Kuno1, 10. Sep. 2005.

Thema: Aufruf GetOpenName Funktion Hallo Um Dateien zu öffnen verwende ich in meinem VB-Programm den Windows Standard Dialog. Ich möchte nun, dass...

  1. Hallo

    Um Dateien zu öffnen verwende ich in meinem VB-Programm den Windows Standard Dialog. Ich möchte nun, dass beim Öffenen die Dateiansicht nicht auf Liste sondern auf Details gestellt wird. Einen Lösungsansatz habe ich hier gefunden:

    http://www.microsoft.com/germany/ms.../DateiansichtDesOeffnenDialogsVeraendern.mspx

    Kann mir jemand sagen wie (mit welchen Parametern) ich die Funktion GetOpenName aufrufen muss, dass mir die Dateien mit den Details angezeigt werden.

    Vielen Dank für die Hilfe

    Gruss Kuno
     
  2. Versuch mal das hier:

    Unter Diverse API-Konstanten

    Code:
    Private Const WM_INITDIALOG As Long = &H110
    hinzufügen und

    Code:
    Private Function OFNHookProc( _ 
       ByVal hDialog As Long, _ 
       ByVal Message As Long, _ 
       ByVal wParam As Long, _ 
       ByRef lParam As NMHDR _ 
       ) As Long 
    Dim hWndLVParent As Long-> Handle des ListView-Elternfensters 
    Dim lpNMHDR As NMHDR -> WM_NOTIFY-Nachrichtendetails 
      If Message = WM_NOTIFY Then-> Nachricht vom Dialog 
     Select Case lParam.code 
       Case CDN_INITDONE 
      hWndLVParent = FindWindowEx(GetParent(hDialog), 0, SHELLDLL_DefView, vbNullString) 
      If hWndLVParent <> 0 Then 
     Call SendMessage(hWndLVParent, WM_COMMAND, ByVal ShowStateValue, ByVal 0&) 
      End If 
       Case CDN_FOLDERCHANGE 
       Case CDN_SELCHANGE 
       Case CDN_SHAREVIOLATION 
       Case CDN_HELP 
       Case CDN_FILEOK 
       Case CDN_TYPECHANGE 
     End Select 
      End If 
    End Function
    
    durch

    Code:
    Private Function OFNHookProc( _
       ByVal hDialog As Long, _
       ByVal Message As Long, _
       ByVal wParam As Long, _
       ByRef lParam As NMHDR _
       ) As Long
    Dim hWndLVParent As Long-> Handle des ListView-Elternfensters
    Dim lpNMHDR As NMHDR -> WM_NOTIFY-Nachrichtendetails
    Static setupDone As Boolean
    
      If Message = WM_INITDIALOG Then
        setupDone = False
      End If
    
      If Message = WM_NOTIFY Then    
        If setupDone = False Then
          hWndLVParent = FindWindowEx(GetParent(hDialog), 0, SHELLDLL_DefView, vbNullChar)
          If hWndLVParent <> 0 Then
            Call SendMessage(hWndLVParent, WM_COMMAND, ByVal ShowStateValue, ByVal 0&)
            setupDone = True
          End If
        End If
      End If
    
    End Function
    ersetzen. Dann (wie du es sicher schon versucht hast ...) GetOpenName mit dem entsprechenden View-Parameter (in deinem Fall also Report) aufrufen.

    Code:
    Select Case lParam.code 
       Case CDN_INITDONE 
       Case CDN_FOLDERCHANGE 
       Case CDN_SELCHANGE 
       Case CDN_SHAREVIOLATION 
       Case CDN_HELP 
       Case CDN_FILEOK 
       Case CDN_TYPECHANGE 
    End Select 
    und die langen Kommentare habe ich der Übersichtlichkeit wegen weggelassen; du kannst das natürlich wieder einfügen, wenn du es brauchst.
     
  3. Hallo

    Vielen Dank für die Hilfe. So funktioniert es wunderbar. Zusatzfrage: Gibt es eine Möglichkeit, dass die Dateien auch gleich nach dem Änderungsdatum absteigend sortiert werden?

    Nochmals herzlichen Dank

    Kuno
     
Die Seite wird geladen...

Aufruf GetOpenName Funktion - Ähnliche Themen

Forum Datum
Bei Aufruf einer Datei in Corel 12 wird der Bildschirm durchsichtig blau Software: Empfehlungen, Gesuche & Problemlösungen 4. Okt. 2015
Der Remoteprozeduraufruf ist fehlgeschlagen Windows 8 Forum 31. Mai 2015
Kästen, Fragezeichen usw. bei Aufruf von einigen Webseiten Web-Browser 13. Feb. 2015
Word 2013 VBA: Makro aus einer anderen Datei aufrufen Microsoft Office Suite 16. Juni 2014
Probleme beim Aufruf interner Adressen Netzwerk 11. Dez. 2013