home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 April / VPR0004A.BIN / OLS / SADKT100 / sadkt100.lzh / ISRAPL.txt < prev    next >
Text File  |  1999-12-31  |  10KB  |  250 lines

  1. /*****************************************************
  2.  
  3.     SariAPLクラス(CLSID_SariAPL)
  4.     interface ISRAPL (ver.1.0)解説
  5.  
  6.            1999/12  by Kazuhiro Kito_
  7.  
  8. *****************************************************/
  9.  
  10. 【概説】
  11. SARIの基本となるインターフェースです。
  12. デュアルインターフェースです。
  13. 外部からSARIオブジェクトを作成するには、CoCreateInstanceでこのインターフ 
  14. ェースを作ります。
  15. アドインプログラムでは、ISariAddinのOnConnectionメソッドにおいてこのイン 
  16. ターフェースが渡されます。
  17. (なをこの説明中に使うTRUEは0以外の数値, FALSEは0です。)
  18.  
  19.  
  20.  
  21. 【メソッド】
  22. HRESULT ShowApp();
  23.         <説明>
  24.         SARIのメインウィンドウを表示します。
  25.         CoCreateInstanceで外部からSARIオブジェクトを作成した場合は、まず 
  26.         このメソッドでメインウィンドウを作成してください。メインウィンド 
  27.         ウがない状態では、他のインターフェースを取得することができませ 
  28.         ん。
  29.         アドインプログラムからはこのメソッドを呼ぶ必要はありませんし、ま 
  30.         た呼ばないでください。
  31.  
  32.  
  33. HRESULT AddCommand(
  34.     [in]long lCookie,   // SARIから渡されたCookie値
  35.     [in]long lInnerNumber, //アドイン内部でのコマンドの番号。
  36.     [in]BSTR bsCommandName,// 登録するコマンドの名前。
  37.     [in]VARIANT_BOOL bMenu,// 登録と同時にメニューを作成するか。_
  38.     [out, retval]long *plCommandNumber //SARI内部におけるコマンド番号。
  39.     );
  40.         <説明>
  41.         SARIに任意のコマンドを登録します。
  42.         アドインプログラムが、ISariAddinインターフェースのOnConnectionメ 
  43.         ソッドのなかで、自身のコマンドをSARIに登録するために使います。
  44.         第1パラメータは、ISariAddinのOnConnectionメソッドにおいて、その 
  45.         Addinを他から識別するためにSARIから渡されるCookie値を指定します。
  46.         第2パラメータは、登録しようとしているコマンドの、そのアドイン内 
  47.         部での番号です。この番号は正の整数であり、かつそのアドイン内部で 
  48.         一意であれば、任意のものが使えます。
  49.         第3パラメータはメニューやショートカットキーの割り当てに使うコマ 
  50.         ンド名です。
  51.         第4パラメータをTRUEにすると、コマンドの登録と同時にメニューも作 
  52.         成されます。
  53.         登録が成功すると、第5パラメータに、そのコマンドのSARI内部におけ 
  54.         る番号が格納されて返ります。このコマンド番号は、ツールバーの作成 
  55.         とショートカットキーの割り当てにおいて使用します。
  56.         具体的な使用法は添付サンプルソースをご覧ください。
  57.  
  58.  
  59. HRESULT SetAddinMenu(
  60.     [in]long lCommandNumber //SARI内部におけるコマンド番号。
  61.     );
  62.         <説明>
  63.         SARIのアドインメニューにコマンドをひとつだけ追加します。
  64.         パラメータは、AddCommandメソッドで得た数値です。
  65.  
  66.  
  67. HRESULT SetAddinMenuGroup(
  68.     [in]BSTR bsGroupName, // ポップアップメニューの名前。_
  69.     [in]VARIANT vrCommandNumber// コマンド番号を格納したSAFEARRAY
  70.     );
  71.        <説明>
  72.         一連のコマンドをまとめてSARIのアドインメニューのポップアップメニ 
  73.         ューにします。
  74.         第1パラメータにはポップアップメニューの名前を指定します。
  75.         第2パラメータでは、
  76.             vrCommandNumber.vt=(VT_ARRAY|VT_I4);
  77.         とし、long型のSAFEARRAYを指定してください。インデックスの下底は0 
  78.         にします。そしてコマンドの数だけの要素をつくり、各要素には、 
  79.         AddCommandメソッドで得たSARI内部のコマンド番号を収納します。
  80.         添付サンプルコードに例があります。参考にしてください。
  81.  
  82.  
  83. HRESULT CreateToolBar(
  84.     [in]long lCookie, //SARIから渡されたCookie値
  85.     [in]BSTR bsName, //ツールバーの名前
  86.     [in]long lResourseID, //ツールバーのビットマップのリソースID
  87.     [in]VARIANT vrCommandNumber// コマンド番号を格納したSAFEARRAY
  88.     );
  89.         <説明>
  90.         SARIにツールバーを作ります。ツールバーのビットマップは一つのボタ 
  91.         ンが16x15ピクセルの大きさを持った、ツールバー用のビットマップであ 
  92.         る必要があります。また割り当てるコマンドの数とビットマップの大き 
  93.         さが一致していなければなりません。具体的な使用法は、添付サンプル 
  94.         ソースのOnConnectionメソッドを参照してください。
  95.  
  96.  
  97. HRESULT GetMainWindowHandle(
  98.     [out]long *lhwnd, // メインウィンドウのハンドル。
  99.     );
  100.         <説明>
  101.         SARIのメインウィンドウのハンドルを得ます。
  102.         このメソッドはSARIのメインウィンドウが作成された後でなければ失敗 
  103.         します。すなわち、外部からCoCreatInstanceなどでSARIオブジェクトを 
  104.         作ったときはShowApp()メソッドを呼び出したあと、アドインプログラム 
  105.         の場合は、OnNewInstanceが通知された後です。
  106.  
  107.  
  108. HRESULT FindShortcutKey(
  109.     [in]long lCommandNumber,//SARI内部のコマンド番号を指定
  110.     [out]VARIANT *pvrState, //Shift,Ctlr, Altキーの状態格納用
  111.     [out]VARIANT *pvrVKey //仮想キーコード格納用
  112.     );
  113.         <説明>
  114.         ひとつのコマンドに対してショートカットキーが複数個割り当てられて 
  115.         いることがあります。このメソッドは、あるコマンドに割り当てられて 
  116.         いるショートカットキーのすべてを、SAFEARRAYとして取得します。
  117.         第1パラメータには、調べる対象のコマンド番号を指定します。
  118.         第2パラメータと第3パラメータが結果です。
  119.         第2パラメータではlong型のSAFEARRAY、第3パラメータではshort型の 
  120.         SAFEARRAYが返ります。
  121.         第2パラメータの要素である各long値の上位16ビットには2ストロ 
  122.         ークキーの状態が入ります。すなわち、
  123.             0 =2ストロークキーではない。
  124.             1 =2ストロークキーA
  125.             2 =2ストロークキーB
  126.             3 =2ストロークキーC
  127.             4 =2ストロークキーD
  128.         下位16ビット(実際は3ビット)にShift, Ctrl, Altキーの状態が入りま 
  129.         す。すなわち、これらのキーを押した状態を、各ビットが立っているか 
  130.         どうかで示します。
  131.             Shiftキー 0x00000001
  132.             Ctrlキー 0x00000002
  133.             Alt キー 0x00000004
  134.         です。
  135.         第3パラメータの要素であるshort値は、各キーの仮想キーコードです。 
  136.         具体的な使用法は、添付サンプルソースのOnConnectionメソッドを参照 
  137.         してください。
  138.  
  139.  
  140.  
  141. HRESULT SetShortcutKey(
  142.     [in]long lCommandNumber, //SARI内部のコマンド番号
  143.     [in]long lState, // Shift, Ctrl, Altキーの状態等。
  144.     [in]short stVKey // 割り当てるキー
  145.     );
  146.         <説明>
  147.         あるコマンドに対してショートカットキーを設定します。このコマンド 
  148.         コマンドはアドインコマンドである必要はありません。各パラメータに 
  149.         ついてはFindShortcutKeyメソッドの説明を参照してください。
  150.         また具体的な使い方は添付サンプルソースのOnConnection関数の部分を 
  151.         ご覧ください。
  152.  
  153.  
  154. HRESULT GetCommandWithShortcutKey(
  155.     [in]long lState, // Shift, Ctrl, Altキーの状態等。
  156.     [in]short stVKey, // キー
  157.     [out, retval]long *plCommandNumber // 割り当てられているコマンド
  158.      );
  159.         <説明>
  160.         ひとつのショートカットキーに対して、設定されているコマンド番号を 
  161.         得ます。そのショートカットキーが使われていなかったら、コマンド番 
  162.         号として0が返ります。各パラメータについてはFindFirstShortcutKeyメ 
  163.         ソッドの説明を参照してください。
  164.         具体的な使い方は添付サンプルソースのOnConnection関数の部分をご覧 
  165.         ください。
  166.  
  167.  
  168. HRESULT RedrawMenu();
  169.         <説明>
  170.         メニューを再構築します。
  171.  
  172.  
  173. HRESULT BroadcastMessage(
  174.     [in]long lCookie,  // SARIから渡されたCookie値
  175.     [in]long lMessage // メッセージを識別する数値
  176.     );
  177.         <説明>
  178.         アドインプログラム用のメソッドです。
  179.         あるインスタンスで設定変更が行われ、その変更を他のインスタンスに 
  180.         通知する必要がある場合などに使ってください。
  181.         このメソッドでブロードキャストすると、各インスタンスには 
  182.         OnBroadcastMessageメソッドの呼び出しとなって通知されます。
  183.         ただ、OnBroadcastMessageは、それを呼び出したインスタンスにも送ら 
  184.         れる点にご注意ください。
  185.  
  186.  
  187. HRESULT CreateFileObject(
  188.     [out, retval]ISRFile **ppFile // ISRFileへのポインタが返ります。
  189.     );
  190.         <説明>
  191.         ISRFileインターフェースを得ます。
  192.         AddRef()して渡されますので、使いおわったらRelease()する必要があり 
  193.         ます。
  194.         ISRFileインターフェースはSARIのメインウィンドウが作成された後でな 
  195.         ければ取得できません。SARIのメインウィンドウがない状態でこのメソ 
  196.         ッドを使うとE_FAILが返ります。
  197.  
  198.  
  199. HRESULT CreateEditObject(
  200.     [out, retval]ISREdit** ppEdit // ISREditへのポインタが返ります。
  201.     );
  202.         <説明>
  203.         ISREditインターフェースを得ます。
  204.         AddRef()して渡されますので、使いおわったらRelease()する必要があり 
  205.         ます。
  206.         ISREditインターフェースはSARIのメインウィンドウが作成された後でな 
  207.         ければ取得できません。SARIのメインウィンドウがない状態でこのメソ 
  208.         ッドを使うとE_FAILが返ります。
  209.  
  210.  
  211. HRESULT CreateDisplayObject(
  212.     [out, retval]ISRDisplay** ppDisplay
  213.                             //ISRDisplayへのポインタが返ります。
  214.     );
  215.         <説明>
  216.         ISRDisplaytインターフェースを得ます。
  217.         AddRef()して渡されますので、使いおわったらRelease()する必要があり 
  218.         ます。
  219.         ISRDisplayインターフェースはSARIのメインウィンドウが作成された後 
  220.         でなければ取得できません。SARIのメインウィンドウがない状態でこの 
  221.         メソッドを使うとE_FAILが返ります。
  222.  
  223.  
  224. HRESULT CreateSearchObject(
  225.     [out, retval]ISRSearch** ppSearch
  226.                             //ISRSearchへのポインタが返ります。
  227.     );
  228.         <説明>
  229.         ISRSearchインターフェースを得ます。
  230.         AddRef()して渡されますので、使いおわったらRelease()する必要があり 
  231.         ます。
  232.         ISRSearchインターフェースはSARIのメインウィンドウが作成された後で 
  233.         なければ取得できません。SARIのメインウィンドウがない状態でこのメ 
  234.         ソッドを使うとE_FAILが返ります。
  235.  
  236.  
  237. HRESULT CreateMiscObject(
  238.     [out, retval]ISRMisc** ppMisc
  239.                             //ISRMiscへのポインタが返ります。
  240.     );
  241.         <説明>
  242.         ISRMiscインターフェースを得ます。
  243.         AddRef()して渡されますので、使いおわったらRelease()する必要があり 
  244.         ます。
  245.         ISRMiscインターフェースはSARIのメインウィンドウが作成された後でな 
  246.         ければ取得できません。SARIのメインウィンドウがない状態でこのメソ 
  247.         ッドを使うとE_FAILが返ります。
  248.  
  249.  
  250.