したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

F橋私的メモ

15ニャン子:2004/07/02(金) 00:03
ニャン子です。

> 理由はなんとなくしか分からないのですが。とりあえず成功しました
> で。理由がなんとなくしか分からないので現在この辺りを調べております
> (↑キーと↓キーや[f1]〜[F12]キーの取得も必須なので…)

GetWndProcで取得した第二引数「uMsg」はイベントそのものを表します。
uMsgが「WM_KEYDOWN」及び「WM_KEYUP」の場合、第三引数「wParam」の値は
F-Basicの「GetASyncKeyState」と同じ値で判断します。一方「WM_CHAR」の
場合は「Asc(Input$(1))」と同じ値(つまりアスキーコード)で判断します。

これはWindows上の仕様なので変える事が出来ません。

> こちらを見ているのですが…
> 多分MAIN.BASのみを触るだけでキー操作が出来る…気が…

出来ます(^^)
・・・が、なぜmain.basからmainform.subの「MAINFORM_KEYDOWN」関数を
呼び出しているかと言えば、単純にVBの言語仕様に合わせただけです。

> ここでしているので…EDIT1 EDIT2とかではなくEDIT()の様に配列にして…
> で。MAINFORM_KEYDOWN( wParam ) を MAINFORM_KEYDOWN( wParam, EDITNO) の様に
> どこのエデットボックスからなのかを分かるようにすれば
> mainform.sub側で ↑キーだから 1つ上のエディットボックスへというのが出来るはず…

出来ますが、このままでは↑や↓などのキーを押すとBEEP音(チャイム音?)
・・・いわゆる「チーン」という音が鳴ります。
これを回避する方法としては「もう一つのメッセージ取得」をご参照頂き、
xxxx_MOUSEMOVEイベントでキー操作に対する処理を行った後に「FbReturnCode 0」を
設定する必要があります。一方、目的のキー以外が発生した場合は「FbTrueCallBack」
を呼び出す必要があります。

http://www.geocities.co.jp/SiliconValley/1223/fb19.html

> このエディットボックスの件ですが…
> 一通り満足行く出来になったらこのHPで公開させて頂きたいのですが…
> (責任は持たないけど他のHPへの転載や商用利用等、お好きな様にどうぞ。の様な感じで)

OKです(^^)


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板