hellomfc

头文件 hello.c

#ifndef afxwin_H_
#include <afxwin.h>
#endif

class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance();//一个虚函数,成功返回非零值,其他返回0,为应用程序提供一个自身初始化的机会

};

class CMainWindow : public CFrameWnd
{
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP();

};

 

源文件

 

// hellowindow.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "hello.h"

CMyApp myApp;

BOOL CMyApp::InitInstance()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd ->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}

BEGIN_MESSAGE_MAP(CMainWindow, CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()

CMainWindow::CMainWindow()
{
Create(NULL, _T("the hello app"));
}
void CMainWindow::OnPaint()
{
CPaintDC dc(this);

CRect rect;
GetClientRect(&rect);

dc.DrawText(_T("hello,mfc"), -1, &rect, DT_CENTER | DT_VCENTER);

}

 

编程中出现的错误

#error Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

 

解决办法

在工程属性-〉general-〉using MFC 选择 Use MFC in a Shared DLL 

 

 

CDC::DrawText

virtual int DrawText( LPCTSTR lpszString, int nCount, LPRECT lpRect, UINT nFormat );

如果成功,则返回文本高度。 

 

lpszString  指向要绘制的文本的指针。如果nCount-1,该字符串必须是空终止的。 

nCount      字符串中字符数目。如果为-1lpszString被认为是一个指向空终止的字符串的长指针。DrawText自动计算字符数目。

lpRect       指向RECT结构或Crect对象的指针,结构(或对象)中包含有矩形(逻辑单位表示),其中的文本带有格式。

nFormat   指定格式化文本的方法。它可以值的组合(可用运算符或位操作符进行组合)。

posted @ 2014-04-01 12:09  RogerGold  阅读(216)  评论(0编辑  收藏  举报