Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   OpenPictureDialog: Filename auch in der Dateiliste markieren (https://www.delphipraxis.net/177631-openpicturedialog-filename-auch-der-dateiliste-markieren.html)

e-gon 18. Nov 2013 08:29

OpenPictureDialog: Filename auch in der Dateiliste markieren
 
Guten Morgen!

Um Bilder zu laden nutze ich OpenPictureDialog. Grundsätzlich funktioniert auch alles sehr gut. Die über die Eigenschaft Filename übergabene Datei wird im Dialog unter Dateiname angezeigt und - zumindest unter WinXP, nicht unter Win7 - ist auch das Bild gleich in der Vorschau zu sehen.

Allerdings hätte ich auch gerne, dass die Datei in der Dateiliste noch gleich markiert wäre. Aber irgendwie finde ich kein Flag womit man das einstellen kann. Und im Forum scheint noch niemand das Problem gehabt zu haben. Kann mir jemand sagen was ich dafür einstellen muss?

Gruß
e-gon

e-gon 20. Nov 2013 08:39

AW: OpenPictureDialog: Filename auch in der Dateiliste markieren
 
Hat keiner eine Idee? Ist das wirklich ein so ausgefallene Anforderung? Oder versteht niemand was ich haben will?

Ich will einfach, dass beim Öffnen von OpenPictureDialog die Datei, die unter der Eigenschaft Filename angegeben wurde, in der Dateiliste bereits selektiert ist. Aber weder unter Options als auch unter OptionsEx findet sich solch eine Einstellungsmöglichkeit.

Kennt sich damit niemand aus? Wahrscheinlich wäre es bei OpenDialog das gleiche...

Gruß
e-gon

Perlsau 20. Nov 2013 09:18

AW: OpenPictureDialog: Filename auch in der Dateiliste markieren
 
Ist der OpenDialog nicht ein Teil der Windows-API, gekapselt in der VCL? Wenn das von Windows nicht vorgesehen ist, wirst du dir wohl einen eigenen OpenPictureDialog basteln müssen. Wozu benötigt man überhaupt eine solche Funktionalität?

jaenicke 20. Nov 2013 09:39

AW: OpenPictureDialog: Filename auch in der Dateiliste markieren
 
Vorweg: Ich halte absolut nichts davon das Standardverhalten der Standardkomponenten von Windows zu ändern. Das verwirrt nur die meisten Benutzer.

Weiterkommen könntest du evtl. mit WM_INITDIALOG. Ob das mit diesen Dialogen auch aufgerufen wird, weiß ich nicht. Wenn ja, könntest du dir dort dann die Handles der Komponenten suchen und versuchen darüber an die Dateinamen zu kommen und den passenden Eintrag zu selektieren. Einfach ist das jedenfalls nicht und wird mit der nächsten Windowsversion evtl. auch schon nicht mehr funktionieren.

e-gon 20. Nov 2013 15:18

AW: OpenPictureDialog: Filename auch in der Dateiliste markieren
 
Zu dem Warum: Ich bastle gerade an einem Bildverwaltungsprogramm, das zur Übersicht der einzelnen Verzeichnisse automatisch aus dem ersten, letzten und 4 mittleren Bildern eine Vorschau erstellt. Da dieser Automatismus unter Umständen aber nicht aussagekräftige Bilder auswählt, soll der Benutzer die Möglichkeit haben manuell Bilder auszuwählen.
Der Plan: Der Bentzter wählt via OpenPictureDialog die Bilder einzeln aus. Also beginnend mit dem 1. Bild werden alle durchgeklickt (bzw. mit der Pfeiltaste ausgewählt) bis ein passendes Bild gefunden wurde. Über "Öffnen" wird dieses zur Vorschau hinzugefügt. Um das nächste Bild auszuwählen wird wieder der OpenPictureDialog geöffnet und nun wäre es hilfreich, das zuvor geöffnete Bild würde selektiert um nicht wieder von Vorne beginnen zu müssen.

Aber da OpenPictureDialog diese Funktionalität offenbar nicht von sich aus besitzt und
Zitat:

das Ändern des Standardverhaltens der Standardkomponenten nur die meisten Benutzer verwirrt
, werde ich wohl über eine andere Lösung nachdenken.

Aber vielen Dank für die Antworten!

Gruß
e-gon

jaenicke 20. Nov 2013 15:52

AW: OpenPictureDialog: Filename auch in der Dateiliste markieren
 
Also an der Stelle würde mich der normale Dialog etwas nerven. Da fände ich es viel sinnvoller das eingebettet zu haben, die Verzeichnisse durchklicken zu können und jeweils direkt die Bilder sehen und ändern zu können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz