HTA - Cursorposition in Textfeld ermitteln

03/05/2015 - 14:08 von uk2015 | Report spam
Hallo!

ich habe bereits seit zwei Tagen einen Lösungsansatz gesucht und bin leider noch nicht fündig geworden.

Aufgabenstellung:
Ich will in einem Textfeld einen Verzeichnispfad anzeigen. Der Benutzer soll in das Textfeld klicken können. Der Klick auf einen Teilpfad soll ausgewertet werden und in einem Listenfeld alle Dateien des Teilpfades aufgelistet werden.
Ziel ist es, mit so einer Art Filesystembrowser schnell zwischen mehreren Verzeichnisebenen wechseln zu können.

Bsp.:
Beim Start der Applikation wird im Textfeld C:VerzEbene1VerzEbene2VerzEbene3 und im Listenfeld alle Dateien/Unterverzeichnisse in diesem Verzeichnis angezeigt.
Bei Klick auf den Bereich VerzEbene1 soll der Pfad C:VerzEbene1 in das Textfeld übernommen und im Listenfeld alle Dateien/Unterverzeichnisse dieses Verzeichnisses aufgelistet werden.

Aktualisierung Text- und Listenfeld ist kein Problem. Auch nicht die Ermittlung des Teilstrings, wenn ich die Cursorposition im Textfeld kennen würde.

Allerdings finde ich keinen Weg, die Cursorposition zu ermitteln.
Es wäre toll, wenn mir jemand einen Codeschnipsel für HTA (am besten in VBS) zur Verfügung stellen könnte.

Hinweis: Die Verzeichnisauswahl per BrowseForFolder ist für den Benutzer in diesem Fall zu mühsam und soll nur optional mit angeboten werden.

Schon mal Dank im Voraus.
 

Lesen sie die antworten

#1 Georg Weisse
04/05/2015 - 14:55 | Warnen spam
Hi uk2015 ,

uk2015 wrote in
news::

Ich will in einem Textfeld einen Verzeichnispfad anzeigen. Der Benutzer
soll in das Textfeld klicken können. Der Klick auf einen Teilpfad soll
ausgewertet werden und in einem Listenfeld alle Dateien des Teilpfades
aufgelistet werden. Ziel ist es, mit so einer Art Filesystembrowser
schnell zwischen mehreren Verzeichnisebenen wechseln zu können.
...
Allerdings finde ich keinen Weg, die Cursorposition zu ermitteln.



die Cursorposition etc. findest Du recht einfach:

Debug.Print(TextBox1.SelectionStart.ToString)
Debug.Print(TextBox1.SelectionLength.ToString)
Debug.Print(TextBox1.SelectedText.ToString)

Abfrage z.B. im MouseUp-Event der Textbox.

Ciao,
Georg

Ähnliche fragen