←前へ 次へ→ 機能別Q&A 質問番号順Q&A 秀丸エディタQ&A集トップ

[HMM0046A]

●keypressed文による分岐のスケルトン

Q. keypressed文によって分岐させたいのですが、キーコードを探すのが面倒です。

A. 次にベースになるマクロを掲載しました。それぞれのキープレスに対応した動作を記述するだけで、すぐに使えるマクロになります。デフォルトではエスケープキーで終了し、リターンキーではビープ音が鳴りますが、自由に変更できます。必要なキーだけを残すように編集してください。
//------- サンプルマクロ -------//
// 編集者注:長さを短く押さえるため一部省略してあります。
disablebreak;
title " [Esc] 終了";
while(1){
##k=keypressed;
if(##k==0x1B){ break;//Esc
}else if(##k==0x0D){// ENTER
beep;
}else if(##k==0x25){// ←left
}else if(##k==0x26){// ↑UP
}else if(##k==0x27){// →right
}else if(##k==0x28){// ↓DOWN
}else if(##k==0x24){// Home
}else if(##k==0x23){// End
}else if(##k==0x21){// PgUp
}else if(##k==0x22){// PgDn
}else if(##k==0x09){// Tab
}else if(##k==0x11){// Ctrl
}else if(##k==0x10){// Shift
}else if(##k==0x08){// BackSpace
}else if(##k==0x20){// space
}else if(##k==0x2D){// Ins
}else if(##k==0x2E){// Del
}else if(##k==0x14){// CapsLock
}else if(##k==0x41){// a,A
// : :
}else if(##k==0x5A){// z,Z
}else if(##k==0xBD){// -_
}else if(##k==0xBB){// =+
}else if(##k==0xDC){// \ |
}else if(##k==0xDB){// [{
}else if(##k==0xDD){// ]}
}else if(##k==0xBA){// ;:
}else if(##k==0xDE){// '"
}else if(##k==0xBC){// ,<
}else if(##k==0xBE){// .>
}else if(##k==0xBF){// /?
}else if(##k==0xC0){// `~
}else if(##k==0x70){// F-1
// : :
}else if(##k==0x78){// F-9
}else if(##k==0x79){// F-10//Ver.2.14以下は取得不能
}else if(##k==0x7A){// F-11
}else if(##k==0x7B){// F-12
}else if(##k==0x91){// Scroll Lock
}else if(##k==0x13){// Pause
}else if(##k==0x31){// keyBoard-1
// : :
}else if(##k==0x30){// keyBoard-0
}else if(##k==0x60){// tenkey-0
// : :
}else if(##k==0x69){// tenkey-9
}else if(##k==0x6E){// tenkey-.
}else if(##k==0x6B){// tenkey-+
}else if(##k==0x6D){// tenkey--
}else if(##k==0x6A){// tenkey-*
}else if(##k==0x6F){// tenkey-/
}else if(##k==0x14){// tenkey-Num Lock
}else if(##k!=0)beep;
}
endmacro;
// ---------------------------- //

←前へ 次へ→ 機能別Q&A 質問番号順Q&A 秀丸エディタQ&A集トップ