2017-12-14 12 views
0

このコードは、Visual C++ 6.0の下で働い:Visual Studioで今RemoveSplashはもはやCMainFrameのメンバーですか?

BOOL CSplashWnd::PreTranslateAppMessage(MSG *pMsg) 
{ 
    if (c_pSplashWnd == NULL) 
     return FALSE; 

    // If we get a keyboard or mouse message, hide the splash screen. 
    if ((pMsg->message == WM_KEYDOWN)  || 
     (pMsg->message == WM_SYSKEYDOWN) || 
     (pMsg->message == WM_LBUTTONDOWN) || 
     (pMsg->message == WM_RBUTTONDOWN) || 
     (pMsg->message == WM_MBUTTONDOWN) || 
     (pMsg->message == WM_NCLBUTTONDOWN) || 
     (pMsg->message == WM_NCRBUTTONDOWN) || 
     (pMsg->message == WM_NCMBUTTONDOWN)) 
    { 
    // let main frame window remove the splash screen so timer is killed & 
    // Tip-of-the-Day is displayed (if appropriate) 
    CMainFrame *pWnd = (CMainFrame *) AfxGetMainWnd(); 
    pWnd->RemoveSplash(); 

     return TRUE; // message handled here 
    } 

    return FALSE; // message not handled 
} 

2017私は、このエラーメッセージが出ます:

エラーC2039: 'RemoveSplashは': 'のCMainFrame'

のメンバーではありません私は、MSDNでRemoveSplashを検索する場合

、私はヒットを取得しない...

は、この今までのCMainFrameの一部でしたかCFrameWnd?何か案は?

答えて

4

質問は「なぜ...?」です。さて、マイクロソフト社の誰かに尋ねなければならないだろうし、彼らが知っているかどうかは疑問だ。あなたは1998年にリリースされた製品(6.0)について尋ねています。19年前。それ以来多くの変化があります。

私は1995年以来MFCをプログラミングしてきました.MFCの組み込みのスプラッシュウィンドウは覚えていません。 MFCの一部ではないため、他のメンバーがCMainFrameクラスにこのようなメンバーを追加しました。おそらくCFrameWndまたはCMDIFrameWndから派生しています。古いVC++プロジェクトのMainFrm.hを見てください。

6

CMainFrameはMFCの一部ではなく、VSウィザードによって生成されたフレームウィンドウのデフォルト名でした。言い換えれば、これはカスタムコードでした。

+0

これが真であれば、@ zett42は私の投稿を編集してVisualStudioタグを削除して、mfcタグに置き換えてはならないことを示しているようです。 –

+2

@ToddHoatson:編集は正しいです。これは、Visual Studioとは何の関係もありません.MFCは、Visual Studioにデプロイされたライブラリです。問題は*あなたの*コードにあり、私たちはアクセスしていません。 – IInspectable

+0

@IInspectable、あなたはEyal Cinamonが "CMainFrameはMFCの一部ではなく、むしろ... VSウィザードが生成された..."という評価で間違っていると言っていますか?あなたが正しい場合でも、MFCが「Visual Studioで展開されたライブラリ」であると言うと、それがVS製品の一部になりますが、そうではありませんか? –

関連する問題