FileOpenDialog zeigt Dateiname nicht vollständig an

  • Wir bei FileOpenDialog ein Dateiname mitgegeben, so wird dieser nicht vollständig angezeigt. Ist das ein Bug?

    Eigentlich sollte da "Dateiname 1234567890". Dieser steht komplett drin wird aber nicht komplett angezeigt:rolleyes:

  • Hallo Tweaky

    Wir bei FileOpenDialog ein Dateiname mitgegeben

    Wie meinst du das? Wie gibst du der Funktion einen Dateinamen mit?

    Prinzipiell konnte ich das Problem bei mir nicht nachvollziehen. Dateinamen werden bei mir normal lesbar (Anfang des Namens ist auch sichtbar) angezeigt.

    Grüße autoiter

  • Ist das ein Bug?

    Ja, das ist ein Bug. Bei mir (Windows 7/10 Pro) ist es auch nicht anders... ab 15 Zeichen wird vorne eines weggeschnitten... bis "Dateiname 1234" geht also korrekt.

    Dateiname 1234567890.png

    Dateiname 12345.png

    Dateiname 1234.png

    Dateiname 1234567890_WIN_7.png

    Wie meinst du das? Wie gibst du der Funktion einen Dateinamen mit?

    AutoIt
    Local $sFile = FileOpenDialog('Select File...', 'C:', 'All (*.*)', 0, 'Dateiname 1234567890')

    4 Mal editiert, zuletzt von Bitnugger (23. September 2018 um 08:41)

  • Hat aber wohl eher nichts mit Autoit zu tun, da der FileOpenDialog ein Windowsbestandteil ist.

    Um die Ursache zu finden sollten diejenigen mit und ohne diesen Fehler mal mehr Details zur genutzten Umgebung posten.

    Genaue Windows Version? -> CMD: "winver" (1703 / 1709 / 1803 / 1809 ???)

    Standard Theme? (Bitnugger nutzt jedenfalls nicht den Standard)

    DPI verändert? (wahrscheinlichste Ursache für Anzeigefehler)

  • https://social.msdn.microsoft.com/Forums/en-US/d…forum=vbgeneral

    https://social.msdn.microsoft.com/Forums/vstudio…ified?forum=wpf

    Anscheinend wirklich ein Windows Bug, der nachwievor nicht behoben wurde. Autoiter hat geschummelt und nicht den vorausgefüllten Dialog geöffnet.

    Workaround:

    Evtl. kann man mit den input / edit ctrl UDF Funktionen die Anzeige des Inputs manipulieren (zum Textanfang "scrollen" oder den Text neusetzen). Ich erinnere mich noch ganz schwach daran sowas selbst schonmal gehabt und entsprechend behoben zu haben.

    2 Mal editiert, zuletzt von misterspeed (23. September 2018 um 09:07)

  • Autoiter hat geschummelt und nicht den vorausgefüllten Dialog geöffnet.

    Also das verbitte ich mir ja!! :D

    Ich hatte echt nicht gepeilt, wie es gemeint war und Bitnugger hat das erst nach meinem Beitrag ergänzt. Nun habe ich es richtig gemacht und kann das Problem auch nachvollziehen. :whistling:

    Grüße autoiter

  • Habe mir da einen kleinen Fix für geschrieben...

    • Offizieller Beitrag

    Habe mir da einen kleinen Fix für geschrieben...

    Ich hätte da noch eine Variante, bei der man keine zusätzliche Exe-Datei braucht.

    Eine globale Variable "$sFileOpenTitle" und zwei kleine Funktionen:

    Das funktioniert, weil die Funktion der Timer-UDF quasi parallel läuft und durch das FileOpenDialog nicht geblockt wird.

    Und so nebenbei kann man damit auch noch den FileOpenDialog in der Größe verändern und nach Wunsch auf dem Desktop plazieren:

  • Ich hätte da noch eine Variante, bei der man keine zusätzliche Exe-Datei braucht.

    Sehr schön...

    Hier eine daraus abgewandelte Variante, die ich nun benutze:

    AutoIt: _FileOpenDialog_Example.au3
    #include-once
    #include <_FileOpenDialog.au3>
    
    Local $sFile = _FileOpenDialog('Select File...', 'C:', 'All (*.*)', 0, 'Dateiname 1234567890')
    MsgBox(64, @ScriptName, '$sFile = ' & $sFile)
    • Offizieller Beitrag

    Es geht sogar ohne globale Variable, wenn man stattdessen eine statische Variable einsetzt: