2010/10/23

access2010 backstageをいじってみた その2


backstageにある組み込みtabとbuttonを非表示としたが、コマンドの実行を抑制したわけではない。
なので、commands要素内でcommandにenabled/onAction属性を設定しUIからの実行抑制っぽくしてみた。
enabled="false"のcommandは、コードで実行させると実行時エラーになる。onAction属性が設定されていると指定アクションが実行される。たぶん、きっと。全部確かめたわけでないし。

ちょっとした例外がある。backstageビューにある開く(FileOpen)ボタンについて。
backstage要素でvisible=falseとすることで表示はされなくなるが、commands要素で
<command isMso="FileOpen" onAction="actionHogehoge">
としていても、actionHogehogeは実行されない。実行させるためには、
<command isMso="FileOpenDatabase" onAction="actionHogehoge">
とする必要があったと思い込んでいる。フォームなどに紐付くリボンでcommands要素を設定するとあれれれ?ってなる。これは少し不可解なところなんだけど、access2007だとFileOpenDatabaseが使われていたが、access2010ではFileOpenが使用されているからかなぁと。

多分、問題ないと思うけどこんなことあるよってことで、[すべてのメニューを表示する]をOffにすると、リボンなどの表示はRuntimeモードと同じようになるっつーこと。

要素:backstage commands command
属性:idMso onAction

0 件のコメント: