[Gelöst] Selektion zurücksetzen

1. September 2008 10:19

Hallo,

meine Frage hat wohl indirekt mit meinem letzten Post zu tun. Der Übersicht halber habe ich mich trotzdem für einen neuen Thread entschieden.

Ich habe ein TableBox Control auf meiner Form und möchte einen Button einbauen, der mir die selektierten Zeilen (blau hinterlegte Zeilen) zurücksetzt. Ein RESET erzielt nicht den gewünschten Erfolg. FIND('-') hüpft mit der Markierung zwar zum Beginn, lässt aber die Selektion trotzdem stehen. Gibt es vielleicht eine Möglichkeit die Form neu zu initialisieren, ohne sie zu schließen . . . so dass sie quasi in den Ursprungszustand zurückgesetzt wird?

Gruß,
Christian
Zuletzt geändert von Merlin am 1. September 2008 13:17, insgesamt 1-mal geändert.

Re: Selektion zurücksetzen

1. September 2008 10:30

Merlin hat geschrieben:Ich habe ein TableBox Control auf meiner Form und möchte einen Button einbauen, der mir die selektierten Zeilen (blau hinterlegte Zeilen) zurücksetzt.

Genausowenig, wie man per Quelltext einzelne Zeilen blau (= selektiert) markieren kann, kann man dies per Quelltext zurück setzen.

Wenn du - wie damals von Timo empfohlen - statt dessen den Weg mit den Satzmarken gehts, setzt du diese mit RESET zurück.

Re: Selektion zurücksetzen

1. September 2008 10:45

Danke für die Hilfestellung :)

Die Lösung mit den Satzmarken habe ich umgesetzt, das funktioniert gut. Allerdings kann man die blauen Markierungen ja trotzdem setzen. Ich würde die Form gerne in den Zustand, wie die Form geöffnet wird, zurücksetzen. Da gibt es auch keine Möglichkeit?

Re: Selektion zurücksetzen

1. September 2008 10:49

Ich habe es jetzt nicht ausprobiert, aber hilft hier eventuell CurrForm.UPDATECONTROLS;?

Re: Selektion zurücksetzen

1. September 2008 11:16

Hallo Timo,

das lässt die blauen Zeilen auch stehen :(. Mir gehn die Ideen aus. Womöglich werde ich damit leben müssen.

Re: Selektion zurücksetzen

1. September 2008 11:33

nur mal fuer mein Verstaendnis:

meinst du quasi ein STRG+Z fuer die makierten Zeilen? oder einfach demakieren?
sonst hilft evtl. SendKeys was?

Re: Selektion zurücksetzen

1. September 2008 11:49

Hallo Matthias,

es geht einfach darum, die blau markierten Zeilen wieder zu deselektieren (oder eben die Form neu zu laden, als hätte man sie gerade geöffnet). Wenn man mit der Maus auf eine Zeile klickt, verschwinden die blauen Zeilen ohnehin. Insofern ists kein Weltuntergang, wenn man das nicht quellcodetechnisch lösen kann. Es wäre einfach eine schönere Lösung, da ich sowieso schon einen Button habe, der mir die Satzmarken zurücksetzt. Mit dem hätte ich gern gleich alles aufgehoben.

Re: Selektion zurücksetzen

1. September 2008 11:54

mmhh nu deselektieren geht ja ueber sendkey, auch wenn das IMO keine schoene lösung ist, einfach ESC druecken und man hat sie deselektiert. Und wenn die Satzmarken weg sollen kann man dies ja auch ueber Mark(false) machen oder?

Re: Selektion zurücksetzen

1. September 2008 12:06

Die Satzmarken verschwinden über ein simples RESET. SendKey kenne ich bsiher noch nicht. Ich versuche gerade an Infos zu kommen, über die Suchfunktion des Forums.

Re: Selektion zurücksetzen

1. September 2008 12:46

sonst

Variable:
Name DataType Subtype Length
WshShell Automation 'Windows Script Host Object Model'.WshShell

dann kannst du ueber WshShell.SendKeys(STRING); verschiedene tasten simulieren:

Taste - Zeichen
ALT - %
Bild ab - {PGDN}
Bild auf - {PGUP}
Druck - {PRTSC}
Einfg - {INSERT}, {INS}
Ende - {END}
Entf - {DELETE}, {DEL}
Escape - {ESC}
F1 bis F12 - {F1} bis {F12}
Feststelltaste - {CAPSLOCK}
Hilfe - {HELP}
nach links - {LEFT}
nach rechts - {RIGHT}
nach oben - {UP}
nach unten - {DOWN}
NUM- Feststell - {NUMLOCK}
Pause - {BREAK}
Return - {ENTER} oder ~
Rollen- Feststelltaste - {SCROLLOCK}
Pos1 - {HOME}
Rücktaste - {BACKSPACE}, {BS}, {BKSP}
STRG - ^
Tab - {TAB}
Umschalt - +

bsp:

WshShell.SendKeys('{ESC}'); simuliert das druecken der Escape Taste

gruß Matthias

Re: Selektion zurücksetzen

1. September 2008 13:16

Uhi, das ist ein heißer Tip, das hab ich so noch gar nicht gekannt. Problem ist natürlich, wenn ich nix selektiert hab, dann wird bei ESC die Form geschlossen. Das soll natürlich auch nicht passieren. Insofern wäre eine Pfeiltaste am sinnvollsten, die löscht die Markierungen ebenso (am besten womöglich LEFT).

Vielen Dank jedenfalls für die Infos, das hat mir sehr geholfen!

Danke euch allen.