用VC如何编译

jiekhui 2004-02-12 04:31:12
有如下源码:
//HELLO.H
class CMyWinApp : public CWinApp
{
public:
virtual BOOL InitInstance(); // –莱ノ祘Α常莱赣э糶ㄧΑ
virtual BOOL OnIdle(LONG lCount); // OnIdle ノㄓ矪瞶盯竚丁idle time
};

//--------------------------------------------------------------------
class CMyFrameWnd : public CFrameWnd
{
public:
CMyFrameWnd(); // constructor
afx_msg void OnPaint(); // for WM_PAINT
afx_msg void OnAbout(); // for WM_COMMAND (IDM_ABOUT)
void IdleTimeHandler(LONG lCount); // we want it call by CMyWinApp::OnIdle

private:
DECLARE_MESSAGE_MAP() // Declare Message Map
static VOID CALLBACK LineDDACallback(int,int,LPARAM);
// 猔種: callback ㄧΑゲ斗琌 "static"埃留旅 'this' 夹
};
//--------------------------------------------------------------------
//HELLO.CPP
#include "Hello.h"
#include "Resource.h"

CMyWinApp theApp; // application object

//--------------------------------------------------------------------
// CMyWinApp's member
//--------------------------------------------------------------------
BOOL CMyWinApp::InitInstance()
{
m_pMainWnd = new CMyFrameWnd();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
//--------------------------------------------------------------------
// CMyWinApp's member
//--------------------------------------------------------------------
BOOL CMyWinApp::OnIdle(LONG lCount)
{
CMyFrameWnd* pWnd = (CMyFrameWnd*)m_pMainWnd;
pWnd->IdleTimeHandler(lCount);

return TRUE;
}
//--------------------------------------------------------------------
// CMyFrameWnd's member
//--------------------------------------------------------------------
CMyFrameWnd::CMyFrameWnd()
{
Create(NULL, "Hello MFC", WS_OVERLAPPEDWINDOW, rectDefault,
NULL, "MainMenu"); // "MainMenu" ﹚竡 RC 郎
}
//--------------------------------------------------------------------
BEGIN_MESSAGE_MAP(CMyFrameWnd, CFrameWnd)
ON_COMMAND(IDM_ABOUT, OnAbout)
ON_WM_PAINT()
END_MESSAGE_MAP()
//--------------------------------------------------------------------
void CMyFrameWnd::OnPaint()
{
CPaintDC dc(this);
CRect rect;

GetClientRect(rect);

dc.SetTextAlign(TA_BOTTOM | TA_CENTER);

::LineDDA(rect.right/2, 0, rect.right/2, rect.bottom/2,
(LINEDDAPROC) LineDDACallback, (LPARAM) (LPVOID) &dc);
}
//--------------------------------------------------------------------
VOID CALLBACK CMyFrameWnd::LineDDACallback(int x, int y, LPARAM lpdc)
{
static char szText[] = "Hello, MFC";

((CDC*)lpdc)->TextOut(x, y, szText, sizeof(szText)-1);
for(int i=1; i<50000; i++); // 洪琌┑筐硉芠诡
}
//--------------------------------------------------------------------
void CMyFrameWnd::OnAbout()
{
CDialog about("AboutBox", this); // "AboutBox" ﹚竡 RC 郎
about.DoModal();
}
//--------------------------------------------------------------------
void CMyFrameWnd::IdleTimeHandler(LONG lCount)
{
CString str;
CRect rect(10,10,200,30);
CDC* pDC = new CClientDC(this);

str.Format("%010d", lCount);
pDC->DrawText(str, &rect, DT_LEFT | DT_TOP);
}
//--------------------------------------------------------------------
// resource.h
#define IDM_ABOUT 100
// hello.rc
#include "resource.h"
#include "afxres.h"

JJHouRIcon ICON DISCARDABLE "JJHOUR.ICO"
AFX_IDI_STD_FRAME ICON DISCARDABLE "JJHOUR.ICO"

MainMenu MENU DISCARDABLE
{
POPUP "&Help"
{
MENUITEM "&About HelloMFC...", IDM_ABOUT
}
}

AboutBox DIALOG DISCARDABLE 34, 22, 147, 55
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About Hello"
{
ICON "JJHouRIcon",IDC_STATIC,11,17,18,20
LTEXT "Hello MFC 4.0",IDC_STATIC,40,10,52,8
LTEXT "Copyright 1996 Top Studio",IDC_STATIC,40,25,100,8
LTEXT "J.J.Hou",IDC_STATIC,40,40,100,8
DEFPUSHBUTTON "OK",IDOK,105,7,32,14,WS_GROUP
}
//STDAFX.CPP
#include "stdafx.h"
//STDAFX.H
#include <afxwin.h>
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧