Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSDkeyboard

メソッド関数仕様



WSGIappKeyboard 関数の説明

書式
WSDkeyboard* WSGIappKeyboard()
機能
アプリケーションにひとつ存在するキーボードの グローバルインスタンスを取得します。
処理
引数
なし。
返値
キーボードインスタンスへのポインタ
注意
この関数はグローバル関数であり、メンバ関数ではありませんので ご注意ください。 また、返されたポインタを開放してはいけません。
サンプル
  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 encode = WS_EN_DEFAULT)
機能
キーボード入力されたキーを文字列で取得します。 FEP 経由で入力された日本語等はこの関数で取得します。
処理
引数
なし
返値
キー入力された文字列
注意
返された文字列を開放してはいけません。
また、キーボード入力イベント WSEV_KEY_PRESS 等が発生した後 でないと、文字列の取得はできません。
サンプル
WSGIappKeyboard() を参照してください。



setText 関数の説明

書式
void setText(char* text,long encode = WS_EN_DEFAULT)
機能
キーボード入力された文字列を置き換えます。 FEP 経由で入力された日本語等を変更したい場合に 変更後の文字列を設定します。
処理
引数
(in)char* str 変更後の文字列
(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()
機能
キーボード入力されたキーを返します。
処理
引数
なし
返値
キー値
注意
有効なキー値、キー値の定義は、include/WSkeysym.h を 御参照ください。
サンプル
WSGIappKeyboard() を参照してください。



setKey 関数の説明

書式
void setKey(long key)
機能
キーボード入力されたキーを変更します。
処理
引数
(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()
機能
オルトキーが同時に押されているかどうかを調べます。
処理
引数
なし。
返値
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 が返された場合、キーイベントは 配信されることなく、捨てられます。
引数
(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.00

For Use with Wide Studio Release 3.00, Summer 2002


Wide Stuido Home | Up to

Copyright(C) T. Hirabayashi, 1999-2002 Last modified: June 10, 2002