[SOLVED] Focus na dokumencie

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
JackK
Posty: 23
Rejestracja: czw kwie 04, 2013 11:41 am

[SOLVED] Focus na dokumencie

Post autor: JackK »

Witam.
Zrobiłem niemodalny dialog, w którym mam opcję dodawania fragmentów tekstu do dokumentu. Nie wiem jednak, jak zrobić, by po dodaniu takiego fragmentu aktywny był dokument, a nie w dalszym ciągu dialog. To znaczy: chcę, aby po pojawieniu się w dokumencie dodanego fragmentu tekstu kursor był tuż za nim i by "był aktywny", czyli po wpisaniu czegoś z klawiatury litery mają się pojawić w miejscu kursora (po dodaniu fragmentu z dialogu, focus powinien być na dokumencie).
Mam kod:

Kod: Zaznacz cały

	dlgQH.setVisible(true)
	Dialog_close = false
	do until Dialog_close
		if selectedInTree <> "" then      ' dialog ustawił zmienną, która zawiera fragment do wyświetlenia
			oDoc = ThisComponent
			oText = oDoc.getText()
			oVCurs = oDoc.CurrentController.getViewCursor()
		   	oTCurs = oText.createTextCursorByRange(oVCurs.getStart())
		   	oText.insertString(oTCurs, selectedInTree, FALSE)     ' dodanie fragmentu
		   	selectedInTree = ""
		   		' nie wiem, dlaczego listener trzeba znów dodać, bo przestał reagować
		   		oListener = createUnoListener("Select_","com.sun.star.view.XSelectionChangeListener")
				oTree.addSelectionChangeListener(oListener)
		end if
		wait(50)
	loop
Ostatnio zmieniony czw kwie 18, 2013 9:46 am przez JackK, łącznie zmieniany 1 raz.
OpenOffice 3 na Windows 7
JackK
Posty: 23
Rejestracja: czw kwie 04, 2013 11:41 am

Re: Focus na dokumencie

Post autor: JackK »

Już mam:

Kod: Zaznacz cały

ThisComponent.CurrentController.Frame.ContainerWindow.toFront()
OpenOffice 3 na Windows 7
ODPOWIEDZ