Seite 1 von 1

[Gelöst] Fokus im Formular setzen

Verfasst: Do, 03.09.2009 13:06
von gigabert
Hallo,

ich möchte beim Drücken meines Buttons "neuer Datensatz" im Formular, dass der Fokus auf das erste Eingabefeld ("Nachname") gesetzt wird. Der Button ist mit der Aktion "Neuer Datensatz" versehen. Jetzt hab ich bei Ereignissen sowohl bei "Beim Auslösen" als auch "Taste losgelassen" ein Makro angegeben, welches den Fokus auf das gewünschte Feld setzen soll. Ich hab auch zwei Möglichkeiten versucht, klappen aber beide nicht. Ist an dem Code was falsch? Wie geht es richtig?

Es geht weder so...

Code: Alles auswählen

Sub FokusSetzen
	
	oDoc = thisComponent
	oForm = oDoc.drawpage.forms.getbyindex(0)
	oCon = oDoc.getCurrentController
	oFormFeld=oForm.getbyname("txtNachname")
	oCon.getControl(oFormFeld).setFocus

End Sub
...noch so:

Code: Alles auswählen

Sub FokusSetzen

	Dim oFeld as Object

	oForm = ThisComponent.drawpage.forms.getByName("MainForm")
	oFeld = oForm.getByName("txtNachname")
	oForm.getCurrentController().getControl( oFeld ).setFocus()

End Sub
Gruss
Bert

Re: Fokus im Formular setzen

Verfasst: Do, 03.09.2009 13:11
von komma4

Re: Fokus im Formular setzen

Verfasst: Do, 03.09.2009 13:36
von gigabert
Hallo,

klappt leider auch nicht. Nach dem Klick auf den "neuer Datensatz"-Button wird das Formular geleert (wie gewünscht) und der Fokus springt auf den Button darunter, der in der Aktivierungsreihenfolge nach dem "neuer Datensatz"-Button kommt.

Gruss
Bert

Re: Fokus im Formular setzen

Verfasst: Do, 03.09.2009 13:47
von eBayer
Nimm das Makro mal von dem PushButton weg!
Ich vermute, daß das Makro in Verbindung mit der Aktion "neuer Datensatz", ausgelöst über den PushButton, garnicht aufgerufen wird.
Das könntest Du allerdings leicht feststellen, indem Du eine msgbox mit irgendeiner Nachricht in Deinem Makro aufrufst.
Allerdings dürfte der bessere Weg für Dein Anliegen der folgende sein:
Binde das Makro auf Formularebene an das Ereignis "nach der Datensatzaktion" oder "nach dem Datensatzwechsel".
Gruß eBayer

Re: Fokus im Formular setzen

Verfasst: Do, 03.09.2009 13:57
von gigabert
Hallo eBayer,

das mit der MsgBox ist echt ne prima Idee. Hab das mal eingebaut, und tatsächlich wurde das Makro über den Button so erst garnicht aufgerufen. "Nach der Datensatzaktion" beim Formular klappte auch nicht, aber "Nach dem Datensatzwechsel" ging. Da hatte ich eh schon ein Makro angebunden und nur noch den Code dazugefügt. Jetzt klappt es mit dem Fokus. Danke euch beiden...

Gruss
Bert