VC++2005での警告について教えてください
よろしくお願いします。
vc++2005を使ってコンパイルした時、プログラムの『691行目と、689行目』の所に緑色の(∥チェック)が付いていて、次のような警告が出たのですが、
これは、『記述する場所が間違っている』と解釈して良いでしょうか?
------ ビルド開始: プロジェクト: memo, 構成: Release Win32 ------
コンパイルしています...
c:\memo\memo\memo.cpp(691) : warning C4715: 'NewProc' : 値を返さないコントロール パスがあります。
コード生成が終了しました。
マニフェストを埋め込んでいます...
ビルドログは "file://c:\Visual Studio 2005\Projects\memo\memo\Release\BuildLog.htm" に保存されました。
memo - エラー 0、警告 21
========== ビルド: 1 正常終了、0 失敗、0 更新、0 スキップ ==========
//サブクラス化後のプロシージャ
LRESULT CALLBACK NewProc(HWND hWnd, UINT msg,
WPARAM wp, LPARAM lp)
{
POINT pt;
static HMENU hMenu;
static HMENU hSubMenu;
int id;
switch (msg){
case WM_RBUTTONDOWN: //ポップアップメニューを作る
hMenu = LoadMenu(hInst, "MYMENU2");
hSubMenu = GetSubMenu(hMenu, 0);
pt.x = LOWORD(lp);
pt.y = HIWORD(lp);
ClientToScreen(hWnd, &pt);
TrackPopupMenu(hSubMenu, TPM_LEFTALIGN,
pt.x, pt.y, 0, hWnd, NULL);
DestroyMenu(hMenu);
break;
case WM_COMMAND:
switch (LOWORD(wp)){
case IDM_NEW:
MyNew(hWnd);
break;
/*case IDM_SAVE:
MySave(hWnd);
break;*/
case IDM_SAVEAS:
MySaveAs(hWnd);
break;
case IDM_OPEN:
MyOpen(hWnd);
break;
case IDM_END:
if(SendMessage(hWnd, EM_GETMODIFY, 0, 0) == FALSE){
id = MessageBox(hWnd, TEXT("終了してもいいですか"),
TEXT("確認"), MB_YESNO | MB_ICONQUESTION);
if(id == IDYES){
DestroyWindow(hWnd);
PostQuitMessage(0);
}
}
if(SendMessage(hWnd, EM_GETMODIFY, 0, 0) == TRUE){
id = MessageBox(hWnd,
TEXT("文書が更新されています、\n変更を保存しますか?"),
TEXT("メモ帳"),
MB_YESNOCANCEL | MB_ICONEXCLAMATION);
if(id == IDYES){
MySave(hWnd); //MySaveAs(hWnd);
}else if (id == IDCANCEL){
return IDCANCEL;
}/*else if (id ==IDNO){ *///ここを記述すると
//文書保存ダイアログでキャンセルした時に、『終了しない』
id = MessageBox(hWnd, TEXT("終了してもいいですか"),
TEXT("確認"), MB_YESNO | MB_ICONQUESTION);
if(id == IDYES){
DestroyWindow(hWnd);
PostQuitMessage(0);
}
}
}
break;
default:
689行目 return CallWindowProc(OldProc, hWnd, msg, wp, lp);
}
691 行目 }
お礼
ありがとうございます。