定義済みカーソルを指定するためのプログラム例です。
csr = YKLookCursor.new( 'HAND' )
bt1 = YKLookButton.new( 'ボタン1' )
bt1.yk_set_cursor( csr )
bt2 = YKLookButton.new( 'ボタン2' )
bt2.yk_set_cursor( 'CROSSHAIR' )
|
ボタン等のGUI部品にマウスカーソルの形状を指定するには、それらGUI部品のスーパークラスである
YKLookComponent
のメソッド
yk_set_cursor()
を使います。
このとき、定義済みカーソルを指定する場合は、以下のいずれかの方法を使ってください。
-
bt1
のように YKLookCursor
クラスのオブジェクトを指定する。
-
bt2
のように定義済みカーソルのキーワード文字列で指定する。
これは bt2.yk_set_cursor( YKLookCursor.new( 'CROSSHAIR' ) )
と同じ。
メソッド
yk_set_cursor()
の引数に
nil
を指定したときは、画面上の階層構造に従ったデフォルトのカーソル形状になります。
指定可能な定義済みカーソルのキーワード文字列は下記14個のいずれかです。
指定 | 意味 |
'DEFAULT' |
デフォルトの矢印 |
'CROSSHAIR' |
十字 |
'TEXT' |
テキスト用の I ビームカーソル |
'WAIT' |
待ち時間 |
'HAND' |
手の形 |
'MOVE' |
ドラッグ等の動かす時 |
'N_RESIZE' |
上端または縦方向のリサイズ用 |
'S_RESIZE' |
下端または縦方向のリサイズ用 |
'W_RESIZE' |
左端または横方向のリサイズ用 |
'E_RESIZE' |
右端または横方向のリサイズ用 |
'NW_RESIZE' |
左上隅または斜め方向(右肩下がり)のリサイズ用 |
'SW_RESIZE' |
左下隅または斜め方向(右肩上がり)のリサイズ用 |
'NE_RESIZE' |
右上隅または斜め方向(右肩上がり)のリサイズ用 |
'SE_RESIZE' |
右下隅または斜め方向(右肩下がり)のリサイズ用 |
カーソルを変更したはずなのに、実際には変更されていないときは、以下の原因が考えられます。
- プログラムでの指定ミス。
メソッド YKLookCursor.new()
や
yk_set_cursor()
は、引数に不正な値が指定された場合
エラーにはならず、デフォルトのカーソルになります。
- そのウインドウ(Webブラウザ経由のときは、そのウインドウ内の表示領域)が最前面の
ウインドウとして認識されていない。
その表示領域内の、GUI部品が何もない余白の部分をマウスでクリックしてみてください。