Dialog Cursorposition

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

DITA
***
Beiträge: 85
Registriert: Fr, 16.11.2012 16:23

Dialog Cursorposition

Beitrag von DITA »

Hallo Leute,

brauche nochmal nen Schubs in die richtige Richtung

Habe, bzw. bin dabei mir einen mehrseitigen Dialog zu bauen, was aber glaub ich nicht so relavant sein dürfte, da mein Problem nur eine Dialogseite betrifft. Würde ja die Datei mit hochladen, aber da die makros teils auf die Regedit zugreifen, möchte ich da keine Probleme heraufbeschwören.

Ich habe die Seite mit mehreren Texteingabefeldern und Label belegt und die Aktivierungsreihenfolge eingegeben, was jetzt zu meinem Problem führt.
Ursprünglich wollte bzw. würde ich das noch immer wollen, die noch nicht benötigten Texteingabefelder ausblenden, und dann halt je nach Eingabe das entsprechende andere Texteingabefeld und entsprechenden Text in den Labelfeldern einblenden.

Mein Weg war,erst mit Texteingabefeld 1 Text modifiziert - geht aber nicht, da bei jedem Buchstaben das makro angestoßen würde, also dann bei Focusverlust, und da ist es ja eigentlich zu spät, die Eingabe auf Richtigkeit zu prüfen und das entsprechende Texteingabefeld 2 oder halt 3 einzublenden und dann darauf den Focus zu legen, sprich da wo der Cursor dann blinkt, weil ja der ein oder andere User per Tab Taste weiter drückt, der anderere aber vielleicht das ganze per Maus regelt.

Denn, wenn ich jetzt mit der Tab Taste das Texteingabefeld 1 (Aktivierungsreihenfolge 0) verlasse übergeht basic die ausgeblendeten Texteingabefelder, und der
Anwender müßte erst wieder die Maus auf Texteingabefeld 2 oder 3 klicken, oder mit der Tab-Taste einmal rum.

Hoffe mein Problem jetzt halbwegs verständlich gemacht zu haben, und hoffentlich habt ihr ein guten Tip für mich wie ich das ganze unter Kontrolle kriege.

Habe grade ne vereinfachte Testdatei mit einseitigem Dialog gebastelt, wo es hoffentlich verständlich rüberkommt

INetTest.ods
(11.95 KiB) 64-mal heruntergeladen
Danke schon mal im Vorraus

Dirk

F3K Total
********
Beiträge: 3486
Registriert: Mo, 28.02.2011 17:49

Re: Dialog Cursorposition

Beitrag von F3K Total »

Moin,
so vielleicht?

Code: Alles auswählen

Sub Textfeld_one

txt_Eingabekontrolle = MyDlg.GetControl("TextField1")
txt_Eins = MyDlg.GetControl("TextField2")
txt_Zwei = MyDlg.GetControl("TextField3")
lbl_zwo = MyDlg.GetControl("Label2")
lbl_Info = MyDlg.getControl("Label3")

txt_EK = txt_Eingabekontrolle.model.text

	Select case txt_EK
		case "richtig"
			lbl_zwo.model.label = "richtig"
			txt_Eins.model.TabIndex = 1				' ist ja eigentlich schon zu spät
			txt_Eins.model.enableVisible = true
'			txt_Eins.model.TabIndex = 0
			txt_Zwei.model.enableVisible = false
			lbl_Info.model.enablevisible = true
			txt_Eins.setFocus
		case "falsch"
			lbl_zwo.model.label = "falsch"
			txt_Eins.model.enableVisible = false
			txt_Zwei.model.enableVisible = true
			lbl_Info.model.enablevisible = true
			txt_Zwei.setFocus
		case else
			lbl_zwo.model.label = "es wurde was anderes eingegeben"
			txt_Eins.model.enableVisible = false
			txt_Zwei.model.enableVisible = false		
			lbl_Info.model.enablevisible = false
	End select

End Sub
Gruß R

DITA
***
Beiträge: 85
Registriert: Fr, 16.11.2012 16:23

Re: Dialog Cursorposition

Beitrag von DITA »

Hallo R - F3K Total,

super danke, dass ist genau das Problem gewesen

wenn man es liest, fragt man sich warum man da nicht selbst drauf gekommen ist.

Vielen Dank für die Hilfe - hätte ich mal viiiieeel eher gefragt.

Gruss Dirk

Antworten