[SOLVED] Kontrola elementów okna dialogowego

Użytkowanie programu bazodanowego
Ancymon
Posty: 9
Rejestracja: śr lip 20, 2011 9:49 am

[SOLVED] Kontrola elementów okna dialogowego

Post autor: Ancymon »

Przy otwartym oknie dialogowym "nr 1" mogę kontrolowac "TextField1" przyciskiem należącym do okna "nr1" za pomocą makra

Kod: Zaznacz cały

sub kontrola(oEv)
caller = oEv.Source
dlg_nr1 = caller.getContext()
df1 = dlg_nr1.getControl("TextField1")
Następnie otwieram okno dialogowe "nr2" i nie wiem jak za pomocą przycisku z okna "nr2" zmienić coś w oknie "nr1" np. w "TextField1"
Ostatnio zmieniony sob lip 30, 2011 9:48 pm przez Ancymon, łącznie zmieniany 1 raz.
OpenOffice 3.3 na xp
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Kontrola elementów okna dialogowego

Post autor: Jan_J »

Skoro w df1 trzymasz uchwyt do tego pola, to w czym problem? musisz tylko umieć go przekazać do procedury obsługującej ten drugi formularz. Najprościej za pomocą zmiennej globalnej.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Ancymon
Posty: 9
Rejestracja: śr lip 20, 2011 9:49 am

Re: Kontrola elementów okna dialogowego

Post autor: Ancymon »

Nie wiem jak to zrobić :) Próbowałem tak:
ustawienie stałej i wywołanie dlg_nr2

Kod: Zaznacz cały

sub kontrola(oEv)
caller = oEv.Source
dlg_nr1 = caller.getContext()
df1 = dlg_nr1.getControl("TextField1")
static df1 as object

Dim Dlg As object
DialogLibraries.LoadLibrary("Standard")
dlg_nr2= CreateUnoDialog(DialogLibraries.dlg_nr2)
Dlg.Execute()
Dlg.dispose())
wpisanie tekstu do df1 i zamknięcie dlg_nr2

Kod: Zaznacz cały

sub wpisz_zamknij(oEv)
caller = oEv.Source
dlg_nr2 = caller.getContext()
df1.text = 1234
dlg_nr2.endExecute()
end sub
i nie działa
OpenOffice 3.3 na xp
Ancymon
Posty: 9
Rejestracja: śr lip 20, 2011 9:49 am

Re: Kontrola elementów okna dialogowego

Post autor: Ancymon »

Już wiem. Przed pierwszym makrem w module ustawia się zmienną globalną.
OpenOffice 3.3 na xp
ODPOWIEDZ