ENV vc6.0
' Test_Proc'已经存在于' TestDlg.h'中。并且#include "TestDlg.h"
在此文件中。
' Test_Proc'使用方式如下:
HINSTANCE hInstance = (HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);
DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG_PRESENTTYPE), hWnd, Test_Proc,NULL);
TestDlg.cpp
#include "TestDlg.h"
BOOL WINAPI Test_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hWnd, WM_INITDIALOG, Test_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Test_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Test_OnClose);
}
return FALSE;
}
TestDlg.h
#ifndef _LOGIN_H
#define _LOGIN_H
#include <windows.h>
BOOL WINAPI Test_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL Test_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void Test_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
void Test_OnClose(HWND hwnd);
#endif
错误
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\mm1\SearchMemberDlg.cpp(378) : error C2065: 'Test_Proc' : undeclared identifier
错误是有线的。有没有类似的经历?谢谢。
vc6.0有什么问题吗?
答案 0 :(得分:2)
SearchMemberDlg.cpp必须#include "TestDlg.h"
并且您应该将TestDlg.h中的包含保护从_LOGIN_H
更改为TESTDLG_H_INCLUDED
,否则如果您在TestDlg.h
之后添加Login.h
则可能会遇到问题{{1}}。