2009-06-15 10 views
0

プロパティページ(ウィザード)で[キャンセル]ボタンを処理しようとしていますが、キャンセルメッセージを正常に取り込むために 'OnQueryCancel'関数を実装しましたが、残念ながらユーザーがキャンセルボタンをクリックすると、 'OnQueryCancel'関数が2回呼び出されます。 どのように私はこの問題に対処することができますか?ありがとう!プロパティページ(ウィザード) - OnQueryCancel

virtual BOOL OnQueryCancel(); 

BOOL CWiz_Page1::OnQueryCancel() 

{  
     int ret; 
     ret = MessageBox("Are you sure?", NULL, MB_YESNO);   
     if(ret == IDYES)  
      return true; 
     else  
      return false; 

} 

答えて

0

私の最初の推測では、あなたが直接メッセージを「クエリがキャンセル」を撃沈したことである(そのメッセージとは?)または多分あなたは、ボタン自体のクリックハンドラを持って、それはのクリックで自動的に呼び出されますキャンセルボタン。あなたのメッセージマップエントリをコメントアウトしてみてください。

classwizardを使用して新しいプロジェクトを作成し、比較してみてください。

+0

特定の問題が何かを共有するように気をつけますか? –

関連する問題