| 2012/08/20(Mon) 17:09:55 編集(投稿者)
> Alt + F4 キー は、[使用中の項目を閉じる、または作業中のプログラムを終了する ]ものなので、 > > 通常はウィンドウを閉じる時に使用するショートカットキーです。 > > これは、Windowsの(普通に当たり前の)一般的なキーアサインなので、使用しないほうが良いですよ。 > > 実際に試してみましたが、やっぱりウィンドウが閉じてしまい使用できないですよ。
これは、拙作:toy_key_checker.wfm/kev/tbl で試した時、
フォームが閉じてしまい使えないと思ったのですが…。
試しに拙作:15パズル.wfm/kev に、Alt + F1 〜 Alt + F12 を追加したら動きましたよ。
[システムキーダウン]の引数の[処理中止]の値を1にするのがミソです。 これによって、フォームウィンドウが閉じられません。
※桐ver.8 sp6 で確認
でも、Alt + ファンクションキーは、フォームアプリケーションでは、やめておく方が無難だと思いますよ。 だって、Alt + F4 は 閉じるが一般的なのですから…
手続き定義開始 prcKeySetDefault( ) 手続き実行 VKprcEventKeyDownON( ) /* [キーダウン]イベントを有効にする */ 手続き実行 VKprcKeyON( ) /* キーに割当てたコマンドの実行を許可する */ ** 矢印キーが押されたら、一般手続き:prc矢印キー評価( ) を呼び出す 表示モードに適用した例 ** 注意! 空白片を移動させる理由から、キーの名前と引数は正反対である 手続き実行 VKprcKeySet( "↑", 1, "0", "手続き実行 prc矢印キー評価( ""↓"", &VKmRepeat )" ) 手続き実行 VKprcKeySet( "↓", 1, "0", "手続き実行 prc矢印キー評価( ""↑"", &VKmRepeat )" ) 手続き実行 VKprcKeySet( "←", 1, "0", "手続き実行 prc矢印キー評価( ""→"", &VKmRepeat )" ) 手続き実行 VKprcKeySet( "→", 1, "0", "手続き実行 prc矢印キー評価( ""←"", &VKmRepeat )" ) 手続き実行 VKprcKeySet( "Ctrl + B", 1, "0", "手続き実行 prc一手戻す評価( &VKmRepeat )" ) ** Alt + F1 〜 Alt + F12 手続き実行 VKprcEventSystemKeyDownON( ) /* [システムキーダウン]イベントを有効にする */ 手続き実行 VKprcKeySet( "Alt + F1", 1, "0", "確認 ""Alt + F1キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F2", 1, "0", "確認 ""Alt + F2キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F3", 1, "0", "確認 ""Alt + F3キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F4", 1, "0", "確認 ""Alt + F4キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F5", 1, "0", "確認 ""Alt + F5キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F6", 1, "0", "確認 ""Alt + F6キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F7", 1, "0", "確認 ""Alt + F7キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F8", 1, "0", "確認 ""Alt + F8キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F9", 1, "0", "確認 ""Alt + F9キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F10", 1, "0", "確認 ""Alt + F10キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F11", 1, "0", "確認 ""Alt + F11キーが押されました""" ) 手続き実行 VKprcKeySet( "Alt + F12", 1, "0", "確認 ""Alt + F12キーが押されました""" ) 手続き定義終了
<引用>一般手続き:VKprcKeySet の引数の説明
コラム11 VK_library 第1.0版 for 桐ver.8 / 桐ver.9
■仕様ノート
キーにコマンドを割り当てる
キーにコマンドを割り当てるには、一般手続き:VKprcKeySet( )を実行します。 この手続きは [キーダウン]/[システムキーダウン]イベントで実行するキーの名前とコマンドをVKライブラリの局所変数に登録します。 同名のキーの名前を指定した場合には、新しい値で上書きされます。
■記述例
手続き実行 VKprcKeySet( "→", 1, "*", "手続き実行 prcなんとか( )" ) 手続き実行 VKprcKeySet( "→", 1, "0,2,4,6,8,33,34,36", "手続き実行 prcなんとか( )" ) 手続き実行 VKprcKeySet( "→", 1, "表示,訂正,行挿入,行追加,項目訂正,グループ検索,グループ値訂正,グループ追加", "手続き実行 prcなんとか( )" )
■構文
手続き実行 VKprcKeySet( キーの名前, 処理中止の値, 適用更新モード, 実行するコマンド )
■引数
<文字列型:キーの名前> キーの名前を指定します(補足参照)。 ※全角・半角・大文字・小文字の区別はありません ※キーボードの文字と概ね一致していますが、付属の toy_key_checker.wfm で確認することをお勧めします。
<整数型:処理中止の値> [フォーム::キーダウン]/[システムキーダウン]イベントハンドラの引数:&処理中止 の値を指定します。 0(ゼロ)、または 1(イチ)を指定してください。
<文字列型:適用更新モード> 実行を許可する更新モードを指定します。 複数の更新モードを指定する場合にはコンマ(,)で区切ります。※全角・半角の区別はありません。 アスタリスク記号("*") を引き渡すと、すべての更新モードを指定したと見なされます。
<文字列型:実行するコマンド> [コマンド]コマンドで実行できる文字列を指定します。 ※複数のコマンドは指定できません。
■補足
<キーの名前> キーの名前はアルファベット(A...Z)と以下の文字です。※全角・半角・大文字・小文字の区別はありません
BackSpace,Tab,Clear,Enter,Shift,Ctrl,Alt,Pause,CapsLock,英数,漢字,Esc,変換,無変換,スペース PageUp,PageDown,End,Home,←,↑,→,↓,PrintScreen,Insert,Delete,Help,NumLock,ScrollLock F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,Windows左,Windows右,Application,漢字番号,カタカナ,ひらがな,半角/全角,ローマ字 0,1,2,3,4,5,6,7,8,9,*,+,-,Separator,:,;,comma,.,/,@,[,\,],^,backslash
※キーの名前がコンマ(,)の場合は "comma" 、バックスラッシュ(\)の場合は "backslash" を指定してください。 ※F10キーは[システムキーダウン]イベントで取得できます。
<キーの組み合わせ> キーの組み合わせは [Alt] + [Ctrl/Shift] + [キーの名前] の順番にプラス(+)記号で連結して指定します。 最大で、[Alt] + [フラグ] + [キーの名前] のように3個のキーの組み合わせまで有効です。 キーの組み合わせは、付属の toy_key_checker.wfm で確認することをお勧めします。
<文字列型:適用更新モード゙> コンマ(,)区切りの文字列を指定します。※全角・半角の区別はありません。 有効なキーワードは以下の文字列です。
"0,2,4,6,8,33,34,36,表示,訂正,行挿入,行追加,項目訂正,グループ検索,グループ値訂正,グループ追加" "*" を指定すると、すべての更新モードを指定したと見なされます。
|