** [[OOobbs/30]] [#e7cdc119] -''サマリ'': ダイアログに配置したコントロールのアクセスキー -''環境'': Calc -''状態'': 解決 -''投稿者'': [[玉蔵]] -''投稿日'': 2004-08-19 (木) 16:01:24 *** 質問 [#l33a2bf8] お世話になっています。 ダイアログにボタンやリストボックス、チェックボックス等を配置し、 Execute()でダイアログを表示させると、標準ボタンやチェックボックス のキャプション(タイトル)の後ろに(A)や(B)といったいわゆる アクセスキーが勝手に表示されます。 OKボタンやキャンセルボタンには付かないようです。 エクセルの場合は、ボタン等のプロパティのアクセラレータ欄に アクセスキーを指定し、キャプションは自分で(A)などとつけておく イメージですが、Calc(というかOOo)ではアクセスキーは勝手に ついてしまうのでしょうか。 自分でアクセスキーの有無やアクセスキーの文字を指定することは できるでしょうか。 *** 回答 [#jf949440] -アクセスキーの設定は,ボタンなどのプロパティーの「ラベル」で,アクセスキーにしたい文字の前に "~" (チルダ) をいれます。たとえば,"~button" だと "b" が,"b~utton" だと "c" がアクセスキーになります。このとき,"~" は表示されません。この "~" を表示する方法はあるんでしょうかね? アクセスキーを指定してあっても,ダイアログでそのキーを押すと,そのボタンにタブストップ (?) が移るだけで,ボタンが押されたことにはなりません。 アクセスキーが押されたときに,ボタンが押されたことになるようにするには,ボタンのプロパティーのイベントの「キーが押されたとき」に希望のものをしていします。 -- [[はにゃ?]] &new{2004-08-19 (木) 16:23:52}; -解決しました。たとえばButton(~T)とすると、Button(T)と表示され(実際はTにアンダーバーが付く)、Alt+Tを押すとボタンのイベントの「作動時」で指定したモジュールが動きました。ただ、アクセスキーをつけたくないときはどうするんでしょう。Button~としても自動的に(A)とかが付いちゃうし、"Button~ "(チルダの後に半角スペース)とするとButtonの後ろにアンダーバーが付いちゃいます。ま、今回はアクセスキーをつけたいので解決なんですが。ありがとうございました。 -- [[玉蔵]] &new{2004-08-19 (木) 21:07:42}; -えーっと、「解決」にするにはどうしたらいいんでしたっけ。ヘルプで探してるんですが。。 -- [[玉蔵]] &new{2004-08-19 (木) 21:14:51}; -残念ながらいまのところアクセスキーを「つけない」はうまくいったためしがありません。じつは,このアクセスキーが自動で設定されるのことについては 1.0 のころと 1.1 では動作がすこし変わりました。 -- [[はにゃ?]] &new{2004-08-19 (木) 22:41:46}; -「解決」にするほうほうですが,ヘルプに書いておくのを忘れていました。変更方法は,このページの上の見出し "OOobbs/30" の右側にある [edit] をクリックします。そして,編集のページで 「-''状態'': 未解決」 となっている部分を「-''状態'': 解決」に変更します。最後に「ページの更新ボタン」をクリックします。 -- [[はにゃ?]] &new{2004-08-19 (木) 22:45:20}; -大変参考になるのでいつも楽しく拝見させて頂いております。ダイヤログエディタ上からではありませんが、アクセスキーを付けない(表示しない?)方法が偶然うまくいったので報告します。例:ダイヤログ上に"cmdBtn"という名前のボタンを配置しておき、oDialogにダイヤログオブジェクトが設定(作成?)されていると仮定します。oDialog.GetControl("cmdBtn").setLabel("ボタン~" & chr$(13)) -- [[河井]] &new{2005-02-21 (月) 10:42:32}; -面白いですね。アクセスキーが改行コードになっているんでしょうか?同じことをダイアログエディタ上でも行うことができました。ボタンに表示するテキストを入力するところで,"ボタン~" と入力しておいて[Shift+Enter] とキー操作することで改行を入力できます。これで同じことがダイアログエディタ上でもできます。 -- [[はにゃ?]] &new{2005-02-21 (月) 12:08:57}; #comment |