⽤VisualStudio做第⼀个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 : 头⽂件
//
visual studio代码大全#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()函数
就写到这⾥,祝你旅途愉快