用Visual Studio做第一个MFC程序
打开VS,开始我们的MFC开发(我所用的版本是VS2010,中文版)
文件-》新建-》项目-》Visual C++中的MFC应用程序,然后在下面写下工程的名称还有设置保存的路径,然后点击确定,出现欢迎使用MFC应用程序向导,点击下一步,现在我要建立的是基于对话框的程序所以我选择“基于对话框”-》点击下一步,继续点击下一步-》到达高级功能时如果你要使用到网络那么就要把windows套接字给勾上,接着下一步,下一步点击完成,你就完成了创建一个工程
此时点击运行按钮,大家会看到所建的工程的最基本完成了。当然还要开始我们的设计·······。其中我们自己要用到的大多数十,a、资源视图,b、解决方案资源管理器,c、工具箱,d、属性
现在我是建了一个工程,名称为ShutDown,刚建立里面的结构图为
里面就是平时我们所用到得头文件(即.h文件),源文件(即.cpp文件),资源文件(即窗体、图片、对话框之类的可视化东西),而外部依赖项就是工程需要包含的文件(一般我们不用处理它)。下面一个是资源视图,也就是资源文件所关联的
Dialog就是我们平时设计所用到的窗体资源,Icon、PNG等就是图片文件(项目中用到的图片都放在这些文件里面),String Table就是关于窗体属性的列表,Version当然就是版本了。
在开发的过程中,当我们需要添加文件,或者添加窗体的时候,直接在对应的文件中点击右键(添加资源或者添加文件或者添加类等添加你所需要的就可以了)。总工程文件就是ShutDown.h和ShutDown.cpp了。而我们写代码一般在窗体所对应的文件中写,那就是Dlg文件,如我的是ShutDownDlg.h和ShutDownDlg.cpp。
其实窗体生成的时候就已经存在两个按钮了。窗体中每一个类(也就是说控件)都会有他自己的属性(在属性框中我们可以看到),通过它的属性框我们可以修改一些属性,如Caption等等。当要为此按钮添加事件时有多种方法。a、在对应控件上点击右键,在弹出框中可以为其添加变量,添加处理事件的函数(他所在的类应该早就定义好类名,否者就帮他添加一下类名就可以了),添加完后就可以在对应的地方写你需要的函数了。b、直接双击这个控件就可以到达编写处理函数那里(哈哈够简单吧),其他的自己摸索。给一点建议就是把刚生成好的窗体上的控件删除,然后自己在工具栏里面拖拉自己需要的控件,原因只是经验而已)
当需要动态创建控件的时候就需要自己映射其控件函数了,MFC中映射就是他的一个特色。具体做法在
// ShutDownDlg.h : 头文件
//
#pragma once
//下面为自己添加的消息
#define WM_SHOW (WM_USER +1) //自己添加的消息
再在类中添加对应的处理函数
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnShowWindow();//自己添加的函数,要在这里面添加,而且下面还要空出一行
DECLARE_MESSAGE_MAP()
然后在.cpp中的 BEGIN_MESSAGE_MAP(CShutDownDlg, CDialogEx)和END_MESSAGE_MAP()之间把他们映射起来 ,用命令 ON_COMMAND(WM_SHOWWINDOW, &CShutDownDlg::OnShowWindow)注意后面不要加分号
然后就可以在.cpp中添加自己的处理代码了
afx_msg void CShutDownDlg::OnShowWindow()
{//事件的处理代码
}
调用的时候只要是关涉到WM_SHOW消息的,都会进行OnShowWindow()处理,譬如我的程序有一处是动态添加右键菜单(网上就有如何添加)有一句就是menu.AppendMenu(MF_STRING,WM_SHOW,L"打开");看这里用到消息WM_SHOW,当在跑出来的执行程序中点击打开菜单,就会自动执行对应的OnShowWindow()函数
就写到这里,祝你旅途愉快