Wide Studio Object Reference

Wide Studio Home
Up to

## クラスの型

WSDkeyboard

## メソッド関数仕様

### WSGIappKeyboard 関数の説明

書式
  WSDkeyboard* WSGIappKeyboard()
機能
  アプリケーションに１つ存在するキーボードの グローバルインスタンスを取得します。 WSDkeyboard クラスへのアクセスはこの関数を介して行います。 また、取得したグローバルインスタンスに対するポインタを 解放してはいけません。
処理
引数
  なし。
返値
  キーボードインスタンスへのポインタ
注意
  この関数はグローバル関数です。 返されたポインタを解放してはいけません。
サンプル

        WSDkeyboard* keyboard = WSGIappKeyboard();
        //入力のあったキーコードの取得
        long keycode = keyboard->getKey();
        //入力文字列の取得
        WSCstring str = keyboard->getText();
        //キーの種類の判定
        WSCbool cursor = keyboard->isCursorKey();
        WSCbool funckey = keyboard->isFuncKey();
        //修飾キーの状態の取得
        WSCbool shift = keyboard->withShift();
        WSCbool ctrl = keyboard->withCntl();
        WSCbool alt = keyboard->withAlt();
        WSCbool lock = keyboard->withLock();

### getText 関数の説明

書式
  char* getText(long encoding = WS_EN_DEFAULT)
機能
  キーボード入力された文字列を取得する関数です。 IME (日本語入力フロントエンド)経由で入力された日本語等は この関数で取得します。
処理
引数

  (in)long encoding | 文字列のエンコーディング

エンコーディングに指定できる値には、 WSCstring クラスのコンストラクタを参照ください。 エンコーディングは省略可能です。
引数
  なし
返値
  キー入力された文字列
注意
  返された文字列を解放してはいけません。
  また、キーボード入力イベント WSEV_KEY_PRESS 等が発生した後 でないと、文字列の取得はできません。
サンプル
  WSGIappKeyboard() を参照してください。

  ### setText 関数の説明

  書式
    void setText(char* text,long encoding = WS_EN_DEFAULT)
  機能
    キーボード入力された文字列を任意の文字列に置き換える関数です。 WSCvifield、WSCtextField 等で入力文字列を変更する場合は、 WSEV_KEY_HOOK イベントプロシージャ内でこの関数を呼び出します。 エンコーディングを省略した場合は、 デフォルトエンコーディングとみなされます。
  処理
  引数

    (in)char* text | 変更後の文字列
    (in)long encoding | 文字列のエンコーディング

    エンコーディングに指定できる値には、 WSCstring クラスのコンストラクタを参照ください。 エンコーディングは省略可能です。
  返値
    なし
  注意
    WSCvifield/WSCtextField 等で入力文字列を変更する場合は、 キーボードフックイベント WSEV_KEY_HOOK で起動する イベントプロシージャ内で置換します。 setText() 関数ではキーコードの変更はされませんので、 キーコードを変更する場合は、setKey() を使用してください。
  サンプル

          WSDkeyboard* keyboard = WSGIappKeyboard();

          //入力文字列の取得
          WSCstring str = keyboard->getText();

          //入力テキストの変更
          if (!strcmp("a",(char*)str){
            keyboard->setText("A");
          }

  ### getKey 関数の説明

  書式
    long getKey()
  機能
    キーボード入力されたキーを取得する関数です。 有効なキー値、キー値の定義は、WSkeysym.h に 定義されていますので、こちらを参照してください。
  処理
  引数
    なし
  返値
    キー値
  注意
    有効なキー値、キー値の定義は、include/WSkeysym.h を 参照してください。
  サンプル
    WSGIappKeyboard() を参照してください。

  ### setKey 関数の説明

  書式
    void setKey(long key)
  機能
    キーボード入力されたキーを任意のキーコードに変更する関数です。 setText とは異なり、getText で得られる文字列は変更しません。 WSCvifield/WSCtextField 等で入力キーコードを変更する場合は、 WSEV_KEY_HOOK イベントプロシージャ内でこの関数を呼び出します。
  処理
  引数

    (in)long key | 変更後のキーコード

  返値
    なし
  注意
    設定可能なキー値、キー値の定義は、include/WSkeysym.h を 参照してください。 WSCvifield/WSCtextField 等で入力文字列を変更する場合は、 キーボードフックイベント WSEV_KEY_HOOK で起動する イベントプロシージャ内で置換します。 setKey() 関数では入力テキストの変更はされませんので 入力テキストを変更する場合は、setText() を利用してください。
  サンプル

          WSDkeyboard* keyboard = WSGIappKeyboard();

          //入力キーコードの取得
          long  key = keyboard->getKey();

          //入力キーコードの変更
          if (key == WSK_a){
            keyboard->setKey(WSK_A);
          }

  ### withShift 関数の説明

  書式
    WSCbool withShift()
  機能
    シフトキーが同時に押されているかどうかを取得する関数です。
  処理
  引数
    なし。
  返値
    True = 押されている、False = 押されていない
  注意
  サンプル
    WSGIappKeyboard() を参照してください。

  ### withLock 関数の説明

  書式
    WSCbool withLock()
  機能
    キャプスロックキーが同時に押されているかどうかを取得する 関数です。
  処理
  引数
    なし。
  返値
    True = 押されている、False = 押されていない
  注意
  サンプル
    WSGIappKeyboard() を参照してください。

  ### withCntl 関数の説明

  書式
    WSCbool withCntl()
  機能
    コントロールキーが同時に押されているかどうかを取得する 関数です。
  処理
  引数
    なし。
  返値
    True = 押されている、False = 押されていない
  注意
  サンプル
    WSGIappKeyboard() を参照してください。

  ### withAlt 関数の説明

  書式
    WSCbool withAlt()
  機能
    Alt キーが同時に押されているかどうかを取得する関数です。
  処理
  引数
    なし。
  返値
    True = 押されている、False = 押されていない
  注意
  サンプル
    WSGIappKeyboard() を参照してください。

  ### isCursorKey 関数の説明

  書式
    WSCbool isCursorKey()
  機能
    カーソルコントロールキーかどうかをテストする関数です。 カーソルコントロールキーには、上下左右の矢印キー、PageUp、PageDown、 Begin、End、Next、Home などがあります。
  処理
  引数
    なし。
  返値
    True = カーソルキー、False = 非カーソルキー
  注意
  サンプル
    WSGIappKeyboard() を参照してください。

  ### isFuncKey 関数の説明

  書式
    WSCbool isFuncKey()
  機能
    ファンクションキーかどうかをテストする関数です。 ファンクションキーに該当するものは、F1〜F12 です。
  処理
  引数
    なし。
  返値
    True = ファンクションキー、False = 非ファンクションキー
  注意
    キーボードのレイアウトにより、異なる値を示すことがあるので 注意が必要です。
  サンプル
    WSGIappKeyboard() を参照してください。

  ### setSelectedString 関数の説明

  書式
    void setSelectedString(char* str,long encoding = WS_EN_DEFAULT)
  機能
    クリップボードに文字列をコピーする関数です。
  処理
    セレクションデータとして文字列を設定します。
  引数

    (in)char* str | セレクションに設定する文字列
    (in)long encoding | 文字列のエンコーディング

    エンコーディングに指定できる値には、 WSCstring クラスのコンストラクタを参照してください。 省略すると WS_EN_DEFAULT が指定されます。
  返値
    なし。
  注意
  サンプル

          //セレクションデータとして、文字列を設定します。
          WSGIappKeyboard()->setSelectedString("selected string...");

  ### setSelectedString 関数の説明

  書式
    char* getSelectedString(long encoding = WS_EN_DEFAULT)
  機能
    クリップボードから文字列データをエンコーディングを 指定して取得する関数です。
  処理
    セレクションデータとして格納されている文字列を取得します。
  引数

    (in)long encoding | 文字列のエンコーディング

    エンコーディングに指定できる値には、 WSCstring クラスのコンストラクタを参照してください。 省略すると WS_EN_DEFAULT が指定されます。
  返値
    セレクション文字列
  注意
  サンプル

          //セレクションデータ文字列を取得します。
          char* sstr = WSGIappKeyboard()->getSelectedString();

  ### setGlobalKeyHook 関数の説明

  書式
    void setGlobalKeyHook(WSCbool(*proc)(long,WSCbool))
  機能
    グローバルキーフックハンドラを設定する関数です。 グローバルキーフックは、アプリケーションに入力された キーボードイベントをフックします。 フックプロシージャが、False が返された場合は、キーイベントは 配信されずに捨てられます。
  処理
    グローバルキーフックは、アプリケーションに入力された キーボードイベントをフックします。 フックプロシージャが、False が返された場合は、キーイベントは 配信されずに捨てられます。
  引数

    (in)WSCbool (*proc)(long,WSCbool) | フックプロシージャ

  返値
    なし。
  注意
  サンプル

        //グローバルキーフックハンドラ関数
        WSCbool keyhook(long key,WSCbool){
          if (key == WSKEY_return){
            return False; //キーイベントを捨てます。
          }
          return True; //キーを配信します。
        }

        void sample_proc(WSCbase* object){
          //グローバルキーフックの設定を行います。
          WSGIappKeyboard()->setGlobalKeyHook(keyhook);
        }

  Document Release 3.70
  For Use with Wide Studio Release 3.70, Spring 2004

  WideStudio Home | Up to

  Copyright(C) WideStudio Development Team, 1999-2004 |  | Last modified: May. 25, 2004