2010-11-18 23 views
0

キーボードキーがMFCダイアログボックスで機能しないと入力しますか? ユーザー名とパスワードを入力してヒットすると、1つのMFCログインダイアログボックスが表示されますを入力してください。キーボード入力キーがMFCダイアログボックスで機能していませんか?

MFCでキーボードのキー操作を行うために必要なことは?

+1

EnterキーはIDOKに変換されます。そのキーを押すと、[OK]ボタンをクリックするのと似ています。通常OnOK()が呼び出されます。おそらくEnterキーを "アクティブ"キーとして削除するのに役立ちます。 – harper

+0

@harper:MFCダイアログボックスで[OK]ボタンを削除しました。必要がないためです。 –

答えて

0

この場合、データベースのpretranslate()メソッドでEnterキーを処理します。

+0

今私が使用していますpretranslate()メソッド:BOOL CNDSConnectDlg :: PreTranslateMessageの(MSG * pMsgを) { 基底クラス 場合(pMsg->メッセージ== WM_KEYDOWN) { 場合(pMsg->のwParam == VK_RETURN || pMsg-> wParam == VK_ESCAPE) pMsg-> wParam = NULL; } \t \t リターンCDialog :: PreTranslateMessage(pMsg); }今私は入力ウィンドウを閉じていないが、私は私のログインメソッドをpretransalte()が呼び出されるたびに置くときに、Enterキーを押してログインメソッドを呼び出すしたい。 –

3

OnOK()および/またはOnCancel()メソッドを実装し、そこに基本メソッドを呼び出さないでください。 (これらは単純にオーバーロードできる仮想メソッドです)。

ボタンを削除しただけでも、イベントを処理する必要はありません。 OnOK()は、のキーを入力し、OnCancel()Escapeのダイアログでトリガーします。

+0

問題は私がOKと取り消しボタンを削除したことです。私はそれらを必要としません。私はダイアログボックスに1つのログインと閉じるボタンを配置しましたが、私はログインボタンの上にイメージを置いています。ボタンを使ってログイン画像をマージすると、そのデフォルトボタンのプロパティがログインボタンのfalseになるようになります。 –

+0

なぜ、デフォルトのボタンプロパティがfalseになるのですか?それは私の問題のように聞こえる。このような – jussij

関連する問題