掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MSAAのIAccessibleを使うには (ID:42143)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
リンク先で.NETで作成されたアプリケーションのツールバー(ToolStrip)のボタンを押下したかったのですが できなくて困っていたところ IAccessible インターフェイスの accDoDefaultAction メソッドを試してみては?との情報をいただいたので 座標を指定してクリックという逃げ道を残しつつ、チャレンジすることにしました。 力尽きたので、どなたかinterfaceにお詳しい方のアドバイスいただければと思います。 ----------------------- ・MSAAの準備 ----------------------- Microsoft Active Accessibility(MSAA)をつかうために プロンプトで下記を実行します。 tlibimp -Hs- -Hr- -Ftoleacc -Ps- -O- %systemroot%\SYSTEM32\OLEACC.DLL oleacc.pas,dcrが作成されます。 これをプロジェクトと、Usesに追加します。 【参考リンク】 http://www.stevetrefethen.com/blog/UsingtheMSAAIAccessibleinterfacewithinaDelphiApplication.aspx#comment --------------------------------- ・必須のサポートライブラリを作成 --------------------------------- ここのリンクのInterfaceUtilsUnitをコピーしてInterfaceUtilsUnit.pasを作成 http://tobysoft.net/wiki/index.php?Delphi%2Finterface%A4%F2%BB%C8%A4%AA%A4%A6%2F%C9%AC%BF%DC%A4%CE%A5%B5%A5%DD%A1%BC%A5%C8%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA --------------------------------- ・テスト用プログラム作成 --------------------------------- usesに oleacc, interfaceUtilsUnitを追加する。 実装するのは面倒なので参考リンク先を参考にしてMyInterfaceを宣言。 TAccClass = class(TInterfacedBase, IAccessible) FMyInterface: IAccessible; property MyInterface: IAccessible read FMyInterface implements IAccessible; function accDoDefaultAction(varChild: OleVariant): HResult; stdcall; end; 【参考リンク】 http://delwiki.info/?%E8%B3%87%E6%96%99%2F%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9 問題点1 どのようにaccDoDefaultActionを実装したらよいかわからない。 問題点2 ツールバーのボタンをクリックさせるためにどのようにしてaccDoDefaultActionを使ったらよいのかわからない。 clsAcc := TAccClass.Create; try AccIfc := clsAcc; //AccIfc.accDoDefaultAction(); finally clsAcc.Free; end; よろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.