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

解決


みき  2003-01-23 18:52:44  No: 50951  IP: [192.*.*.*]

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

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

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

編集 削除
fujisawa  2003-01-24 11:46:05  No: 50952  IP: [192.*.*.*]

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

編集 削除
SSA  2003-01-24 12:23:09  No: 50953  IP: [192.*.*.*]

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

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

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

編集 削除
みき  2003-01-27 17:24:03  No: 50954  IP: [192.*.*.*]

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

編集 削除