Czy da się jakoś wyłączyć krzyżyk zamykający okno dialogowe? Chciałbym wymusić zamykanie dialogu moim przyciskiem z oprogramowanym kodem.
Nie potrafię znaleźć jasnej odpowiedzi na to pytanie.
Jak wyłączyć krzyżyk zamykający dialog?
Re: Jak wyłączyć krzyżyk zamykający dialog?
O ile się znam na API bibliotek okienkowych, to dekoracje takie jak przyciski na belce, sama belka itp. są dostępne niskopoziomowo, np. jako styl okna o kodzie zależnym od systemu.
Szukałbym parametru o nazwie style (albo podobnym) w funkcji tworzącej okno dialogowe. Parametr ten winien być typu całkowitoliczbowego (int) i zazwyczaj jest zadawany w postaci bitowej alternatywy wielu różnych masek, z których jedna mogłaby mieć nazwę has_close_button (albo podobną). Tak to się robi w Windows API, w GTK+, w Qt, w wxWidgets.
Nie potrafię powiedzieć z pamięci, czy tego typu opcje da się przekazać poprzez wywołania UNO API, czyli ze znacznie wyższego poziomu. Być może coś tu wyczytasz, a może nie da się w prosty sposób?
Inna możliwość to pozostawić kontrolkę, ale spiąć ją z akcją wykluczającą zamknięcie okna. O tym powinien decydować wynik funkcji przypisanej do zdarzenia (0|1).
Szukałbym parametru o nazwie style (albo podobnym) w funkcji tworzącej okno dialogowe. Parametr ten winien być typu całkowitoliczbowego (int) i zazwyczaj jest zadawany w postaci bitowej alternatywy wielu różnych masek, z których jedna mogłaby mieć nazwę has_close_button (albo podobną). Tak to się robi w Windows API, w GTK+, w Qt, w wxWidgets.
Nie potrafię powiedzieć z pamięci, czy tego typu opcje da się przekazać poprzez wywołania UNO API, czyli ze znacznie wyższego poziomu. Być może coś tu wyczytasz, a może nie da się w prosty sposób?
Inna możliwość to pozostawić kontrolkę, ale spiąć ją z akcją wykluczającą zamknięcie okna. O tym powinien decydować wynik funkcji przypisanej do zdarzenia (0|1).
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Jak wyłączyć krzyżyk zamykający dialog?
Taki miałem początkowo pomysł, ale nie potrafię "rozpoznać" momentu zamykania okna, nie wiem jak oprogramować to zdarzenie, kliknięcia na krzyżyku. Jakbym to wiedział to nie mam powodu do usuwania go w dialogu.Jan_J pisze:...Inna możliwość to pozostawić kontrolkę, ale spiąć ją z akcją wykluczającą zamknięcie okna....
Jest na to jakiś prosty sposób, bez odwoływani się do głębokich pokładów systemu operacyjnego?
Re: Jak wyłączyć krzyżyk zamykający dialog?
Jeżeli projektujesz dialog w interfejsie wizualnym, to na liście właściwości masz "With title bar". Ustawienie "No" spowoduje ukrycie listwy tytułowej, a wraz z nią i przycisku [x].
W przypadku dostępu z poziomu języka programowania myślę, że trzeba użyć listenera do obsługi zdarzeń. Ale nie wyśledziłem, jak to zrobić w szczegółach.
Patrz też
https://wiki.openoffice.org/wiki/Docume ... g_Controls
https://wiki.openoffice.org/wiki/Docume ... at_Runtime
W przypadku dostępu z poziomu języka programowania myślę, że trzeba użyć listenera do obsługi zdarzeń. Ale nie wyśledziłem, jak to zrobić w szczegółach.
Patrz też
https://wiki.openoffice.org/wiki/Docume ... g_Controls
https://wiki.openoffice.org/wiki/Docume ... at_Runtime
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Jak wyłączyć krzyżyk zamykający dialog?
Dzięki, tego szukałem.