VC2005中用MFC如何运行“HelloWorld”程序。
经常见到有人贴出以下的程序,作为MFC的入门://hello.cpp2#includeafxwin.h3//Declaretheapplicationclass4clas...
经常见到有人贴出以下的程序,作为MFC的入门:
//hello.cpp
2 #include afxwin.h
3 // Declare the application class
4 class CHelloApp : public CWinApp
5 {
6 public:
7 virtual BOOL InitInstance();
8 };
9 // Create an instance of the application class
10 CHelloApp HelloApp;
11 // Declare the main window class
12 class CHelloWindow : public CFrameWnd
13 {
14 CStatic* cs;
15 public:
16 CHelloWindow();
17 };
18 // The InitInstance function is called each
19 // time the application first executes.
20 BOOL CHelloApp::InitInstance()
21 {
22 m_pMainWnd = new CHelloWindow();
23 m_pMainWnd->ShowWindow(m_nCmdShow);
24 m_pMainWnd->UpdateWindow();
25 return TRUE;
26 }
27 // The constructor for the window class
28 CHelloWindow::CHelloWindow()
29 {
30 // Create the window itself
31 Create(NULL,
32 "Hello World!",
33 WS_OVERLAPPEDWINDOW,
34 CRect(0,0,200,200));
35 // Create a static label
36 cs = new CStatic();
37 cs->Create("hello world",
38 WS_CHILD|WS_VISIBLE|SS_CENTER,
39 CRect(50,80,150,150),
40 this);
41 }
我的问题是:在VC2005中应该建立什么项目?把这些应该粘贴在哪个文件里,才能运行成功?记住是2005不是6.0!!! 展开
//hello.cpp
2 #include afxwin.h
3 // Declare the application class
4 class CHelloApp : public CWinApp
5 {
6 public:
7 virtual BOOL InitInstance();
8 };
9 // Create an instance of the application class
10 CHelloApp HelloApp;
11 // Declare the main window class
12 class CHelloWindow : public CFrameWnd
13 {
14 CStatic* cs;
15 public:
16 CHelloWindow();
17 };
18 // The InitInstance function is called each
19 // time the application first executes.
20 BOOL CHelloApp::InitInstance()
21 {
22 m_pMainWnd = new CHelloWindow();
23 m_pMainWnd->ShowWindow(m_nCmdShow);
24 m_pMainWnd->UpdateWindow();
25 return TRUE;
26 }
27 // The constructor for the window class
28 CHelloWindow::CHelloWindow()
29 {
30 // Create the window itself
31 Create(NULL,
32 "Hello World!",
33 WS_OVERLAPPEDWINDOW,
34 CRect(0,0,200,200));
35 // Create a static label
36 cs = new CStatic();
37 cs->Create("hello world",
38 WS_CHILD|WS_VISIBLE|SS_CENTER,
39 CRect(50,80,150,150),
40 this);
41 }
我的问题是:在VC2005中应该建立什么项目?把这些应该粘贴在哪个文件里,才能运行成功?记住是2005不是6.0!!! 展开
展开全部
1.新建,win32控制台工程,一个空的工程
2.添加文件,建一个hello.cpp文件
3.把代码贴上
不过不同编译器设置不同,可能报以下几个错误
1.字符串类型不匹配,在字符串外面套上 _T()
2.找不到MFC的dll,项目-属性-配置属性-常规-项目默认值-MFC使用(改成在共享dll中使用MFC)
3.还可能unicode编码类型出错,这个就比较麻烦了,加UNICODE和_UNICODE的宏
上面的代码只是一个最基本的演示,一开始构造全局变量HelloApp,调用它的构造函数,进而调用它的基类CWinApp的构造函数,构造函数里调用了虚方法InitInstance,根据多态性原理,就调用到HelloApp的InitInstance,在这个函数里又构造了一个CHelloWindow类,进而调用CHelloWindow构造函数,从而实现代码。而main方法是MFC中已经写好的(头文件引用中引入),经历上述过程后进入main方法
那个演示很不全面,建议你直接新建一个 windows窗体应用程序 那是一个正规的MFC程序
2.添加文件,建一个hello.cpp文件
3.把代码贴上
不过不同编译器设置不同,可能报以下几个错误
1.字符串类型不匹配,在字符串外面套上 _T()
2.找不到MFC的dll,项目-属性-配置属性-常规-项目默认值-MFC使用(改成在共享dll中使用MFC)
3.还可能unicode编码类型出错,这个就比较麻烦了,加UNICODE和_UNICODE的宏
上面的代码只是一个最基本的演示,一开始构造全局变量HelloApp,调用它的构造函数,进而调用它的基类CWinApp的构造函数,构造函数里调用了虚方法InitInstance,根据多态性原理,就调用到HelloApp的InitInstance,在这个函数里又构造了一个CHelloWindow类,进而调用CHelloWindow构造函数,从而实现代码。而main方法是MFC中已经写好的(头文件引用中引入),经历上述过程后进入main方法
那个演示很不全面,建议你直接新建一个 windows窗体应用程序 那是一个正规的MFC程序
展开全部
不是我打击你,这文件你复制到哪都没用,除非有心去改!去看看孙鑫的vc++视频吧,里面就有讲这个的。
编程不是做搬运工,复制,粘贴的事虽然经常做,但是也要知道这些东西是什么,该怎么用吧?
MFC入门的前提是会C++,一步一步来!
知道这是什么,该怎么用比运行成功更重要,我建议你把问题改为:这里面都有些什么类?什么功能的,这些函数怎么实现的?为什么这么用?
编程不是做搬运工,复制,粘贴的事虽然经常做,但是也要知道这些东西是什么,该怎么用吧?
MFC入门的前提是会C++,一步一步来!
知道这是什么,该怎么用比运行成功更重要,我建议你把问题改为:这里面都有些什么类?什么功能的,这些函数怎么实现的?为什么这么用?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-03-06
展开全部
我是楼主,那如何改啊?我学过C++,继承什么的都明白,程序我都看懂了,是不是要不它们分开放在不同的文件里?大家继续指点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询