資源簡介
編寫應用程序,利用鼠標在視圖區內繪制圓和橢圓。要求在工具
條上創建兩個按鈕,分別代表繪制圓和繪制橢圓。實現代碼中僅允許
使用 SetPixel 一種繪圖函數,不可以使用其他繪圖函數。
繪制圖形的鼠標操作方式可自行決定,此處給出一種方式作為參
考:類似于繪制直線段,按下鼠標左鍵時的點假設為 P,按住鼠標左
鍵不放,移動鼠標到另一點處抬起鼠標左鍵,該點假設為 Q。繪制圓
的時候,以 P 為圓心,PQ 為圓的半徑。繪制橢圓時,將 PQ 作為一個
矩形的對角線,繪制該矩形的內切橢圓。

代碼片段和文件信息
//?MainFrm.cpp?:?implementation?of?the?CMainframe?class
//
#include?“stdafx.h“
#include?“text.h“
#include?“MainFrm.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CMainframe
IMPLEMENT_DYNCREATE(CMainframe?CframeWnd)
BEGIN_MESSAGE_MAP(CMainframe?CframeWnd)
//{{AFX_MSG_MAP(CMainframe)
//?NOTE?-?the?ClassWizard?will?add?and?remove?mapping?macros?here.
//????DO?NOT?EDIT?what?you?see?in?these?blocks?of?generated?code?!
ON_WM_CREATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static?UINT?indicators[]?=
{
ID_SEPARATOR???????????//?status?line?indicator
ID_INDICATOR_CAPS
ID_INDICATOR_NUM
ID_INDICATOR_SCRL
};
/////////////////////////////////////////////////////////////////////////////
//?CMainframe?construction/destruction
CMainframe::CMainframe()
{
//?TODO:?add?member?initialization?code?here
}
CMainframe::~CMainframe()
{
}
int?CMainframe::OnCreate(LPCREATESTRUCT?lpCreateStruct)
{
if?(CframeWnd::OnCreate(lpCreateStruct)?==?-1)
return?-1;
if?(!m_wndToolBar.CreateEx(this?TBstyle_FLAT?WS_CHILD?|?WS_VISIBLE?|?CBRS_TOP
|?CBRS_GRIPPER?|?CBRS_TOOLTIPS?|?CBRS_FLYBY?|?CBRS_SIZE_DYNAMIC)?||
!m_wndToolBar.LoadToolBar(IDR_MAINframe))
{
TRACE0(“Failed?to?create?toolbar\n“);
return?-1;??????//?fail?to?create
}
if?(!m_wndStatusBar.Create(this)?||
!m_wndStatusBar.SetIndicators(indicators
??sizeof(indicators)/sizeof(UINT)))
{
TRACE0(“Failed?to?create?status?bar\n“);
return?-1;??????//?fail?to?create
}
//?TODO:?Delete?these?three?lines?if?you?don‘t?want?the?toolbar?to
//??be?dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
return?0;
}
BOOL?CMainframe::PreCreateWindow(CREATESTRUCT&?cs)
{
if(?!CframeWnd::PreCreateWindow(cs)?)
return?FALSE;
//?TODO:?Modify?the?Window?class?or?styles?here?by?modifying
//??the?CREATESTRUCT?cs
return?TRUE;
}
/////////////////////////////////////////////////////////////////////////////
//?CMainframe?diagnostics
#ifdef?_DEBUG
void?CMainframe::AssertValid()?const
{
CframeWnd::AssertValid();
}
void?CMainframe::Dump(CDumpContext&?dc)?const
{
CframeWnd::Dump(dc);
}
#endif?//_DEBUG
/////////////////////////////////////////////////////////////////////////////
//?CMainframe?message?handlers
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-12-03?09:48??text1\
?????目錄???????????0??2017-12-03?09:48??text1\.vs\
?????目錄???????????0??2017-12-03?09:48??text1\.vs\text\
?????目錄???????????0??2017-12-03?09:48??text1\.vs\text\v15\
?????文件????????3584??2017-11-17?16:10??text1\.vs\text\v15\.suo
?????目錄???????????0??2017-12-03?09:48??text1\Debug\
?????文件???????20076??2017-10-23?15:43??text1\Debug\MainFrm.obj
?????文件??????105832??2017-10-23?15:43??text1\Debug\StdAfx.obj
?????文件??????122965??2017-10-23?15:43??text1\Debug\text.exe
?????文件??????313516??2017-10-23?15:43??text1\Debug\text.ilk
?????文件???????22998??2017-10-23?15:43??text1\Debug\text.obj
?????文件?????5633800??2017-10-23?15:43??text1\Debug\text.pch
?????文件??????336896??2017-10-23?15:43??text1\Debug\text.pdb
?????文件????????7552??2017-10-23?15:43??text1\Debug\text.res
?????文件???????14778??2017-10-23?15:43??text1\Debug\textDoc.obj
?????文件???????30322??2017-10-23?15:43??text1\Debug\textView.obj
?????文件??????214016??2017-11-13?13:24??text1\Debug\vc60.idb
?????文件??????364544??2017-10-23?15:43??text1\Debug\vc60.pdb
?????文件????????2505??2017-10-23?14:25??text1\MainFrm.cpp
?????文件????????1581??2017-10-23?14:25??text1\MainFrm.h
?????文件????????4263??2017-10-23?14:25??text1\ReadMe.txt
?????文件?????????206??2017-10-23?14:25??text1\StdAfx.cpp
?????文件????????1054??2017-10-23?14:25??text1\StdAfx.h
?????目錄???????????0??2017-12-03?09:48??text1\res\
?????文件????????1318??2017-10-23?15:02??text1\res\Toolbar.bmp
?????文件????????1078??2017-10-23?14:25??text1\res\text.ico
?????文件?????????396??2017-10-23?14:25??text1\res\text.rc2
?????文件????????1078??2017-10-23?14:25??text1\res\textDoc.ico
?????文件?????????685??2017-10-23?15:02??text1\resource.h
?????文件???????29076??2017-11-13?13:24??text1\text.aps
?????文件????????2293??2017-11-13?13:25??text1\text.clw
............此處省略12個文件信息
- 上一篇:大數據能力提升大賽.docx
- 下一篇:BC20硬件設計手冊以及PCB
評論
共有 條評論