使用VS2010新建CLR的windows窗体应用程序如何使用MFC类库
如题,现在使用VS2010新建CLR的windows窗体应用程序,想使用MFC类库中的CFile等一些类,需要怎么添加...
如题,现在使用VS2010新建CLR的windows窗体应用程序,想使用MFC类库中的CFile等一些类,需要怎么添加
展开
展开全部
加入包含文件就可以,注意,和clr的头文件有包含顺序问题,尝试调整,直到不报错即可。
#include <afxdisp.h> // MFC Automation classes
#include <afx.h>
这样,CFile和CString就可以使用了,还包括CPoint CRect这些常用类。
追问
包含了这个头文件之后之前添加的这个头文件怎么处理,删掉之前的东西就不能用了,不删掉又报错
追答
调整包含顺序和包含关系确实比较麻烦。2010版本我这没有,没法具体测试。
不过,如果你只需要使用CFile,真的没必要,因为在2010版的WinForm程序上,操作文件的方法太多了,而CFile对字符编码的处理以及IO处理算不上多好,你熟悉一个新的方式就可以了,完全可以代替。比如FileStream,再比如标准库的fopen和API的OpenFile都是可以的,推荐FileStream
追问
不是看MFC中的CFile怎么用,是想在windows窗体应用程序中使用这个类
追答
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
publicclass MyForm : Form{private TextBox box;
private Button button;
public MyForm() : base(){box =new TextBox();
box.BackColor = System.Drawing.Color.Cyan;
box.Size =new Size(100,100);
box.Location =new Point(50,50);
box.Text ="Hello";
button =new Button();
button.Location =new Point(50,100);
button.Text ="Click Me";
// To wire the event, create
// a delegate instance and add it to the Click event. button.Click +=new EventHandler(this.Button_Click);
Controls.Add(box);
Controls.Add(button);}// The event handler.privatevoid Button_Click(object sender, EventArgs e){box.BackColor = System.Drawing.Color.Green;}// The STAThreadAttribute indicates that Windows Forms uses the
// single-threaded apartment model. [STAThreadAttribute]
publicstaticvoid Main(string[] args){Application.Run(new MyForm());}}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询