VC精华教程:MFC入门系列(一)
2007-03-22 21:31:43 来源:WEB开发网nafxcwd.lib(thrdcore.obj):error LNK2001:unresolved external symbol_endthreadex
nafxcwd.lib(thrdcore.obj):error LNK2001:unresolved external symbol_beginthreadex
Debug/MyMFC.exe:fatal error LNK1120:2 unresolved externals
那么,这是因为没有使用MFC类库。我们现在导入。点击菜单(project)工程-〉setting设置,弹出一个对话框,有一个下拉列表框,里面是Not Using MFC,我们把她改为Using MFC in a Static Library,点击确定,再编译,运行,那么有这样一个窗体出现。下面是该程序的解释。
在以上的程序中,只使用了两个类CFrameWnd 和CWinApp,我们先看第一个类:
class sample:public CFrameWnd
{
public:
sample()
{
Create(NULL,"MFC Window");
MessageBox("My MFC Window","CFrame constructor",MB_OK);
}
};
第一个类sample继承了CFrameWnd类,CFrame类是MFC类库中的一个类,用它来代表窗体框架,我们先用sample类继承它,在构造函数调用了Create这个函数,在运行Create这个函数时调用的是CFrameWnd类中的函数,是MFC写好的函数,CFrameWnd中封装了CreateWindow这个API函数为它的成员函数Create(),他们的参数都是相似的。但你会问,CreateWindow有11个参数,而这里的Create函数只用了两个参数,因为这里的Create有两个参数为必选参数,后面的参数有默认值。
由MSDN的定义可以看出
BOOL Create( LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle = WS_OVERLAPPEDWINDOW, const RECT& rect = rectDefault, CWnd* pParentWnd = NULL, LPCTSTR lpszMenuName = NULL, DWORD dwExStyle = 0, CCreateContext* pContext = NULL );
更多精彩
赞助商链接