ダイアログのエディットボックスで入らない文字キーがありますが・・・ – 固定ページ 2 – プログラミング – Home

ダイアログのエディットボックスで入らな...
 
通知
すべてクリア

[解決済] ダイアログのエディットボックスで入らない文字キーがありますが・・・

固定ページ 2 / 2

VC++6user
 VC++6user
(@VC 6user)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

wood様

> ちなみに
> VC++6user 2004/08/07(土) 18:49:36の
> pMsg->message と pMsg->wParam  って同じく無い?
> UpdateData(TRUE);  は機能してないと思うよ

最初、EndDialog関数で、ダイアログは閉じて終りだと思っていたのですが
どうやら、その後も関数の最後まで実行されるみたいですね。

親Viewとダイアログのエディットボックスでの入力文字受け渡し用のDDX変数?へは
そのままでは、Returnキー(IDOK)でしか文字が自動的に格納されないようなので
VK_F3とVK_F10の場合にも受け渡したくて、UpdateData(TRUE)を入れました。
とりあえず下記のようにコードを修正して、'r'も'y'も入力できました。

if (pMsg->message != WM_CHAR) {
if (pMsg->wParam == VK_F3 || pMsg->wParam == VK_F10) {
UpdateData(TRUE);
return TRUE;
}
}

VC++6.0のSP5以上は所有していないんです。とりあえずダウンロードして
インストールはするべきですね?SP4は、たまたま昔買って残していたCマガジンの
付録CD-ROMの中に見つけれたのでインストールはしておいたんです。

この度も、いろいろご助言頂きありがとうございました。
今後もよろしくお願い致します。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> if (pMsg->message != WM_CHAR) {
> if (pMsg->wParam == VK_F3 || pMsg->wParam == VK_F10) {
> UpdateData(TRUE);
> return TRUE;
> }
> }

なんで素直に、
if (pMsg->message == 調べたいメッセージ) {
...
}
としないんでしょう????

私がWM_CHARで一致する場合があると述べたのは一例に過ぎません。
他のメッセージでも偶然一致するかもしれません。


返信引用
VC++6user
 VC++6user
(@VC 6user)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

dairygoods様、ご指摘ありがとうございます。

> なんで素直に、
> if (pMsg->message == 調べたいメッセージ) {
> ...
> }
> としないんでしょう????

そうですね。ちょっと甘くみ過ぎているようです。直します。
今後もよろしくお願い致します。


返信引用
VC++6user
 VC++6user
(@VC 6user)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

うっかりしてました。^^;解決マークもチェックしておきます。


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました