ボタンを複数配置した際、タイトルにAltショートカットの文字が勝手に付与されてしまう

Windows10, LibreOffice7.1.0.3使用

Baseのダイアログに複数ボタンを配置した際、設定したボタンタイトル右側にAltショートカット用の文字が勝手に付与されてしまいます。

↓Printscreenです。

画像の説明

"(A)“や”(B)"などです。
表示させない方法を教えてください。

回答にならないメモ。(cannot disable Automnemonic)

StyleSettingsクラスにはbool型を返すGetAutoMnemonic()メソッドが存在している

https://opengrok.libreoffice.org/xref/core/include/vcl/settings.hxx?r=4474d167#533

VCLXWindow::GetSettings()の戻り値であるAllSettingsクラスにはこのStyleSettings型を返すGetSettings()がある

おそらくこのAllSettingsはApplication::GetSettings()から設定が引き継がれる

オプションからアクセスできる、アイコンサイズ等以外、UNO経由でこの設定にアクセスできる方法が見つからない(質問者が望む形、多分できないんだろうな、と少し諦めつつ予想している)

https://opengrok.libreoffice.org/xref/core/cui/source/options/optgdlg.cxx?r=ac396f2f#755

https://opengrok.libreoffice.org/xref/core/svtools/source/config/miscopt.cxx?r=ccec42fa#378

なお、Macに関しては、StyleSettingsに対してSetOptions(StyleSettingsOptions)メソッドで
StyleSettingsOptions::NoMnemonicsが与えられている

https://opengrok.libreoffice.org/s?refs=NoMnemonics&project=core

表示じゃなくて、どのコントロールにニーモニックが設定されるかという根本のコードも挙げておく(解決策ではない)

https://opengrok.libreoffice.org/xref/core/vcl/source/window/dialog.cxx?r=4256c764#88

1 Like

表示させない方法を教えてください

おそらく質問者の趣旨とは違うが、画像にすれば出来なくはない

SVGフォーマットで 「ア」 なら

<svg xmlns="http://www.w3.org/2000/svg">
  <text>ア</text>
</svg>

表示しているけと見えなくしたり邪魔にならなくする方法なら色々ある

空白で調整するとか
ボタンの大きさを調整するとか
チルダを使うとか
考えればキリがない

1 Like

埋込データベースとしてFirebirdを利用しています。 JAVAはOpenJDK8ですね確か・・・
ダイアログを利用したことがありませんのでご了承ください。
ダイアログ表示の手順としてはツール→マクロ→ダイアログの管理 からダイアログを新規作成しました。
表示されたダイアログにボタンを配置しプレビューダイアログすると、ボタン名の横に(A)が表示されました。
プレビューを止め、設定の状態に戻り、ボタンのプロパティ内にある「ボタンの種類(V)」をデフォルト以外:OK等にしてみると
(A)は表示されなくなりました。
お尋ねの解決策になるかどうか分かりませんがお知らせいたします。
用途にもよると思いますがフォームで代用する方法もありかなとも思いました。

テスト環境
LO:Version: 7.2.4.1 (x64) / LibreOffice Community
OS: Windows 10.0 Build 19043
Locale: ja-JP (ja_JP); UI: ja-JP
Windows10&V6.2でも同じ挙動になりました

1 Like

HSQLDBでLinuxの環境でも、わなたべさんの方法で(A)などが表示されなくなりました。

Version: 7.3.1.3 / LibreOffice Community
Build ID: a69ca51ded25f3eefd52d7bf9a5fad8c90b87951
CPU threads: 8; OS: Linux 5.16; UI render: default; VCL: gtk3
Locale: ja-JP (ja_JP.UTF-8); UI: ja-JP
Calc: threaded