作成したボタンをキーボードの様に使うには

解決


みき  2003-01-24 03:52:44  No: 50951

画面上に作成したコマンドボタンを
押した時にエディットコントロールに表示したいのですが
どうすればいいでしょうか?

0〜9までのボタンを作ってそれをキーボードの
テンキーのように使いたいのですがうまくいきません。

例えば0を押された時にPostMessageで表示させたいエディットコントロールに
WM_CHARもしくはWM_KEYDOWNで送信すると、1文字なら表示されるのですが
次にボタンを押すと初めに押して表示されていた0が消えて上書きされたように
なります。どうすればいいでしょうか?教えて下さい。
ちなみにMFCは使ってません。


fujisawa  2003-01-24 20:46:05  No: 50952

ちわー
自分だったらダイアログベースでアプリを作って、(関係ないけど)
キーメッセージ捕まえたら(switch caseで)SetWindowTextもしくは
SetDlgItemTextで自力で書きに行くかなぁ〜  と。
まぁ  ここまでは同じだと思うんすけど(上書きされる)
その前にGetWindowTextで現在表示されてる0〜9までの文字列とって
バッファに追加していって、最後に書きにいけばよいのでは?
bufに追加する場合はlstrcatまたはwnsprintf系で。。。
あり?  ロジックも問題??
駄目?


SSA  2003-01-24 21:23:09  No: 50953

http://www.microsoft.com/japan/developer/library/vcmfc/_mfc_cedit.3a3a.replacesel.htm
でどうでしょう?
上記ページはMFCの説明ですが、下の抜粋のとおり、対応するSDKが示されている
ので、それを調べてみて下さい。

==抜粋始め==
> 現在選択されているテキストがないとき、置き換えたいテキストは現在のカーソル位置に挿入されます。

> 詳細については、Win32 SDK の「EM_REPLACESEL」を参照してください。
==抜粋終わり==


みき  2003-01-28 02:24:03  No: 50954

SSAさんありがとうございました。
うまくいきました。
fujisawaさんのやり方は以前に自分でやってたんですけど、
カーソル位置に挿入っていうのがほしかったんですよー。
けど、情報提供ありがとうございます。(^^)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加