AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Cursor im Open-Dialog positionieren

Ein Thema von striderx · begonnen am 5. Jul 2016 · letzter Beitrag vom 5. Jul 2016
Antwort Antwort
striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#1

Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 00:07
Ich suche nach einer Möglichkeit, in einem Open-Dialog den Cursor auf eine bestimmte Datei zu positionieren (der Name steht beim Start in 'Filename').

Hat jemand eine Idee?


Cheers
striderx
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 00:33
Warum, wenn der Dateiname schon ausgewählt ist? Default-Schaltfläche ist doch "Öffnen" so dass ein Druck auf Return reichen sollte, die Datei auszuwählen und den Dialog zu schließen.

Aber jetzt mal so grob die Vorgehenseise. Handle vom Dialog ermitteln. Der Listview ist ein Child vom Dialog. Handle vom Listview ermitteln. Mit einer Nachricht die Items durchgehen, die richtigen finden und mit einer Nachricht selektieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 00:38
>>Warum, wenn der Dateiname schon ausgewählt ist<<

Es geht darum, in einem Verzeichnis mit vielen Dateien die Auswahl in der Nähe des eingetragenen Dateinamens zu erleichtern. Es sind nacheinander mehrere Dateien auszuwählen, deren Namen sich zumeist nur wenig unterscheiden.

Geändert von striderx ( 5. Jul 2016 um 00:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 07:20
Klingt so, als würde das Verzeichnis festgelegt sein.
Wäre es dann nicht einfacher, die Dateien in einer Listbox oder Checklistbox darzustellen? Damit umgehst du das Ansteuern des OpenDialogs und hast alles selbst in der Hand.
Peter
  Mit Zitat antworten Zitat
striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 10:27
Ich hätte mein Szenario vieleicht etwas besser beschreiben sollen: Es geht darum, Bild-Dateien auszuwählen, die als Thumbnail angezeigt werden. Wenn die erste ausgewählt ist, geht es darum, weitere 'in der Nähe' auszuwählen. Der Dateiname in der Filename-Property ist jeweils derjenige der zuletzt ausgewählten Datei.

@Jasocul: Dafür eine Verzeichnis-Darstellung mit Thumbnails selbst zu programmieren ist für mich nicht zielführend. Fremd-Komponenten setze ich grundsätzlich nicht ein.

@Luckie: Theoretisch hatte ich mir das schon so ungefähr vorgestellt, mir fehlt jedoch die praktische Umsetzung. Hast Du ggf. ein Code-Beispiel - insbesondere für den Listen-Teil?
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 12:04
Kann man nicht im Open-Dialog direkt mehrere Dateien auswählen? Mit Strg+Click auf die Dateien?
Ich meine ausser Filename hat er doch noch eine Property Filelist, oder so ähnlich (bin gerade nicht an einem Delphi-Rechner).
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 12:33
Es geht darum, in einem Verzeichnis mit vielen Dateien die Auswahl in der Nähe des eingetragenen Dateinamens zu erleichtern. Es sind nacheinander mehrere Dateien auszuwählen, deren Namen sich zumeist nur wenig unterscheiden.
Dann wäre es u.U. sinnvoll wenn die Dateien nach Namen sortiert sind. Eine Sortierung nach "Typ" könnte in die Irre leiten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 12:41
@Jumpy

In dem Programm geht es u. a. darum, verschiedene Bilder zu kombinieren (immer je zwei). Ob das ein ansprechnendes Ergebnis bringt, muss halt immer wieder ausprobiert werden. Ein Multi-Select bringt hier nichts.

@p80286

Die Dateien sind nach Namen sortiert, aber darum geht es nicht.

Schlußendlich geht es um genau das, was Luckie theoretisch beschrieben hat. Ich brauche halt Hinweise für die praktische Umsetzung.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: Cursor im Open-Dialog positionieren

  Alt 5. Jul 2016, 13:58
Opendialog hat eine Eventmethode, wo man sich rein hängen kann.
Am Besten auch den "neueren" TFileOpenDialog benutzen, anstatt dem alten TOpenDialog.

in FileOpenDialog.OnExecute kannst du über FileOpenDialog.Dialog Zugriff bekommen,
siehe TCustomFileDialog.Execute // DefaultFolder



Der TOpenDialog wird in neueren Windowsen intern auf die neue API umgeverbogen, aber dem Entwickler wird jeglicher vernünftige Zugriff auf den Dialog verwehrt, durch eine echt grauenhafte Implementation.

Das Event nutzt Delphi selber aus, um z.B. den "Bug" zu beheben, dass Windows seit einer Weile den DefaultFolder/InitialDir einfach ignoriert, bzw. denkt da automatisch etwas zu auszuwählen, wo es denkt der Endnutzer würde sich freuen.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:32 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