Mit TAB zur nächsten Gruppe springen

Moderator: Moderatoren

Antworten
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Mit TAB zur nächsten Gruppe springen

Beitrag von satmax »

Ich möchte gerne jeweils einige Eingabefelder zu einer Gruppe zusammenfassen und dann mit TAB in die jeweils nächste Gruppe springen, schaffe das aber nicht. :( Nicht mit tdDEget().

Gibt es hier noch jemanden der mit TD arbeitet?
Gruß
Markus
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Mit TAB zur nächsten Gruppe springen

Beitrag von ramses »

Hi

ja ich habe einige grössere Projekte auf topdown aufgebaut und arbeite weiterhin mit topdown. Wieso auch nicht?

Was du willst ist m.E. nicht möglich.

CU Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Mit TAB zur nächsten Gruppe springen

Beitrag von brandelh »

Ich arbeite zwar nicht mit TopDown, aber die Eigenschaft :tabStop hat doch jedes Control.
Wenn du nur die jeweils Gruppenerste mit .T. und den Rest mit .F. bestückst könnte das gehen, solange TD das nicht selbst verwaltet.
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Mit TAB zur nächsten Gruppe springen

Beitrag von Herbert »

Hubert, so kommst nur jeweils zu den ersten Elementen mit der Tabtaste...

Die Taborder ist leider nur eindimensional. Du musst also das Verhalten programmieren, z.B. beim WM_Killfocus auf das 1. Element deiner nächsten Gruppe springen... aber so durchbrichst die Regel, dass der Tab stets zum nächsten Element weiterspringt.
Könntest den Keycode abfangen und den Benutzer erziehen, dass er z.B. mit einer anderen Tastenkombination diesen Effekt vollziehen kann. Allerdings sind alle Tab-Kombinationen durch Windows bereits besetzt (Shift-Tab geht rückwärts, Alt-Tab springt auf ein anderes Fenster in Windows, Ctrl-Tab ist ebenso belegt), müsstest also was ganz anders nehmen.
Alternativ planzt einen Button neben das erste Element, welches bei Klick darauf den Sprung hin zur nächsten Gruppe macht, aber eben, sind immer Zwischenschritte notwendig.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Mit TAB zur nächsten Gruppe springen

Beitrag von satmax »

Wie kann ich eigentlich das aktive Get ermitteln? Ich habe hier eine Getlist

oXbp:oParentDlg:aActiveGets

und möchte wissen welches get active ist, so in etwa:

Code: Alles auswählen

nLen:= LEN(oXbp:oParentDlg:aActiveGets[i])
FOR i = to nLen
 IF oXbp:oParentDlg:aActiveGets[i]:get:hasfocus
   exit
 endif
next
// i == Aktives get
Aber alle gets haben das Flag hasfocus auf true gesetzt.
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Mit TAB zur nächsten Gruppe springen

Beitrag von satmax »

So bekomme ich das active get:

oXbp:oParentDlg:aActiveGets:get == oXbp:get
Gruß
Markus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mit TAB zur nächsten Gruppe springen

Beitrag von AUGE_OHR »

satmax hat geschrieben:Ich möchte gerne jeweils einige Eingabefelder zu einer Gruppe zusammenfassen und dann mit TAB in die jeweils nächste Gruppe springen, schaffe das aber nicht. :( Nicht mit tdDEget().
wenn du die SLE in einer Groupbox zusammenfasst ?

siehe dir mal c:\ALASKA\XPPW32\SOURCE\samples\solution\ShortCut\scmanage.prg an.
es ist zwar nicht genau das was du suchst aber das Prinzip könnte man dafür nehmen.
gruss by OHR
Jimmy
Antworten