Autor Beitrag
noreux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Di 26.02.08 20:15 
Hallo,

ich sitz grad an ner kleinen minianwendung die nichts weiter tut als den code eines barcodescanners zu erwarten um die daten anschließend auszuwerten. die anwendung hat noch 3 checkboxen mit denen man paar sachen einstellen kann, die im prinzip irrelevant sind. ich möchte nun das der fokus ständig in dem edit feld liegt, auch wenn man an den checkboxen rumfummelt, sodass die anwendung jederzeit den code empfangen kann, und man nicht immer extra ins edit feld klicken muss. ich will es vermeiden einen mausklick in das feld zu simulieren, es sollte einfach alle paar millisekunden den focus wieder ins edit feld legen...

danke schonmal im vorraus für tipps,
gruß

NoR
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Di 26.02.08 20:23 
Ich verstehe nicht, warum das Edit den Fokus haben muss? Du kannst es doch auch so beschreiben. Ansonsten bei Bedarf (und nur bei Bedarf!):

ausblenden Delphi-Quelltext
1:
Edit1.SetFocus;					

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Di 26.02.08 20:23 
Wieso setzt du nicht einfach die Eigenschaft TabStop der CheckBoxenb auf false?

Deine Notlösung würde übrigends mit Edit.SetFocus funktionieren, dabei würde allerdings die Selektion draufgehen...

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
noreux Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Mi 27.02.08 01:11 
user profile iconGTA-Place hat folgendes geschrieben:
Ich verstehe nicht, warum das Edit den Fokus haben muss? Du kannst es doch auch so beschreiben. Ansonsten bei Bedarf (und nur bei Bedarf!):

ausblenden Delphi-Quelltext
1:
Edit1.SetFocus;					



naja, dieser barcode scanner pasted das was er scant einfach da rein, wo nunmal der fokus gerade ist, also man könnte auch direkt ins notepad "reinscannen". da es zu umständlich ist den scanner irgendwie direkt anzusprechen muss das halt einfach in dieses edit feld gehen egal was als letztes auf der gui angeklickt wurde.

aber das was du mir geschrieben hast ist genau das was ich gesucht habe, funktioniert einwandfrei!

mfg
nor
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Mi 27.02.08 18:01 
user profile iconnoreux hat folgendes geschrieben:
einfach alle paar millisekunden den focus wieder ins edit feld legen...


Hi user profile iconnoreux,

Mach das auf keinen Fall, setze im onCheck der CheckBox den Fokus und nciht alle paar Millisekunden!
K.A. ob die checkbox dann noch gecheckt wird wenn du den fokus wegsetzt, also wenn sie nciht gecheckt wird dabei mach halt so:
im onCheck erst Fokus setzen und dann manuell checken...

Die Kommunikation übers edit da hat auch eventuell noch wer ne idee...

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Fr 29.02.08 14:13 
Das sind alles nur Notlösungen, die optimale Lösung habe ich oben bereits erwähnt. :roll:

user profile iconjakobwenzel hat folgendes geschrieben:
Wieso setzt du nicht einfach die Eigenschaft TabStop der CheckBoxenb auf false?

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.02.08 15:03 
user profile iconnoreux hat folgendes geschrieben:
naja, dieser barcode scanner pasted das was er scant einfach da rein, wo nunmal der fokus gerade ist, [..] da es zu umständlich ist den scanner irgendwie direkt anzusprechen muss das halt einfach in dieses edit feld gehen egal was als letztes auf der gui angeklickt wurde.

Was verstehst du unter Umständlich? Lieber eine etwas aufwendigere aber dafür stabile Lösung, als so ein Gefrickele, was du da jetzt vor hast.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 29.02.08 16:08 
user profile iconjakobwenzel hat folgendes geschrieben:
Das sind alles nur Notlösungen, die optimale Lösung habe ich oben bereits erwähnt. :roll:

user profile iconjakobwenzel hat folgendes geschrieben:
Wieso setzt du nicht einfach die Eigenschaft TabStop der CheckBoxenb auf false?

Probier das mal aus! Das tut nämlich nicht...

... TabStop tut genau das, was der Name sagt: Ob beim Drücken der Tab-Taste der Fokus auf dem Control stoppt. Das tut er dann zwar nicht mehr, aber du kannst den Fokus immer noch manuell mit der Maus auf die Checkboxes setzen. Also: Ziel nicht erreicht. Aber man sollte das auf jeden Fall noch zusätzlich machen, denn die eigentliche Lösung basiert auf einem Mausklick, und die Tab-Taste hat damit nix zu tun ...

... Setze den Fokus des Edits beim OnMouseUp der Checkboxes. Das heißt, dass die Box zwar noch aktiviert / deaktiviert werden kann, aber sofort danach der Fokus wieder auf das Edit gesetzt wird.

user profile iconGTA-Place hat folgendes geschrieben:
Ich verstehe nicht, warum das Edit den Fokus haben muss? Du kannst es doch auch so beschreiben.

Das würde mich auch interessieren. Oder verwendest du eine Unit, von der du keinen Quelltext hast, und die das aktive Fensterelement zur Beschreibung verwendet? (Eher unwahrscheinlich ;))