<<< 前へ   TOP   次へ>>>


プレビューキーセクション

#PREKEYで始まるセクションです。
このセクションは、なんらかの形で定義されたキーが押されると、常にそのキー定義が実行される前に呼ばれます。
このセクションは主にChangeKeySet手続きを使用して、キーセットの切り替えを行うために使用されます。


定義の仕方

定義の仕方は以下の通りです。

 #PREKEY 複文

注意事項

このセクションは全体を通して(#INCLUDEした別ファイルも含めて)1つだけ定義できます。


sample

 例)
  #GLOBALVAR
    #valval;

  #PREKEY {
  // Kが押されたら#valvalは1になる。
    IF (#_KEYMODE==1 AND #_KEYCODE=0x4B AND #_SHIFTKEY<>0 AND
        #_CTRLKEY<>0 AND #_ALTKEY<>0) THEN {
      #valval=1;
    } ELSE {
      #valval=0;
    };
  }

  #KEY K {
    IF (#valval<>1) THEN {
      ShowMessage('error?','test',0);  // 1のはず
    } ELSE {
      ShowMessage('OK','test',0);
    };
  };

  #KEY SHIFT+K {
    IF (#valval<>0) THEN {
      ShowMessage('error?','test',0);  // 0のはず
    } ELSE {
      ShowMessage('OK','test',0);
    };
  };

また、#PREKEY内で、後述するExit()・ExitProc()・Return()手続きを使用すると、続く#KEYの実行はキャンセルされます。

 例)
 #PREKEY {
   // Kが押されたら何もしないで終わる
   IF (#_KEYMODE==1 AND #_KEYCODE=0x4B AND #_SHIFTKEY<>0 AND
       #_CTRLKEY<>0 AND #_ALTKEY<>0) THEN {
     Exit();
   };
 }

 #KEY K {
   ShowMessage('error?','test',0); // 実行されないはずだ?
  };

 #KEY SHIFT+K {
   ShowMessage('OK','test',0);
 };

hint

このセクションは、定義されたキーが押されると常に呼ばれます。その分処理が重くなってしまいます。特に必要がないのであれば、このセクションは指定しない方がSASFの動作が多少軽くなります。


<<< 前へ   TOP   次へ>>>