这两天,由于使用MFC做东西,看了不少的例子,始终不得要领,我的疑惑点是控件好建,但对应的消息函数往哪放则搞不明白。
下面这个例子,假设你有点C++基础,再假设你不是特别着急,完全可以手抄下来,混个眼熟。这个例子,主要集成了两个基础类:CWinApp和CFrameWnd,如果你用mfc应用程序写的话,一定不会对这两个类陌生。
用vc++6.0:“NEW”->"projections"->"Win32 App"->建立一个32位程序(Hello)。
在此工程下新建C++源文件(helloworld)
#include<afxwin.h>
//shuoing app class
class CHelloApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
//bulid Init
CHelloApp HelloApp;
class CHelloWindow:public CFrameWnd
{
CStatic* cs;
public:
CHelloWindow();
};
//first use init
BOOL CHelloApp::InitInstance()
{
m_pMainWnd=new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return true;
}
//construction for windows
CHelloWindow::CHelloWindow()
{
//bulid window for itself
Create(NULL,"Hello,Woprld!",WS_OVERLAPPEDWINDOW,CRect(0,0,200,200));
//labs
cs=new CStatic();
cs->Create("hello world",WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(50,80,150,150),this);
}
编译,等等,这样直接是不会运行的,需要在“project”->"settings "的MFC类中选择“share MFC as all”
运行结果如下
后记:CWinApp,CWnd,CFrameWnd,CDiglog,CView需要熟记。
本文是用C++建立控件的,还可以使用资源文件管理啊
非常不错的参考文章